home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / pymodules / python2.6 / libxml2.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-10-28  |  438KB  |  10,661 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import libxml2mod
  5. import types
  6. import sys
  7.  
  8. class libxmlError(Exception):
  9.     pass
  10.  
  11.  
  12. def pos_id(o):
  13.     i = id(o)
  14.     if i < 0:
  15.         return sys.maxint - i
  16.     return i
  17.  
  18.  
  19. class treeError(libxmlError):
  20.     
  21.     def __init__(self, msg):
  22.         self.msg = msg
  23.  
  24.     
  25.     def __str__(self):
  26.         return self.msg
  27.  
  28.  
  29.  
  30. class parserError(libxmlError):
  31.     
  32.     def __init__(self, msg):
  33.         self.msg = msg
  34.  
  35.     
  36.     def __str__(self):
  37.         return self.msg
  38.  
  39.  
  40.  
  41. class uriError(libxmlError):
  42.     
  43.     def __init__(self, msg):
  44.         self.msg = msg
  45.  
  46.     
  47.     def __str__(self):
  48.         return self.msg
  49.  
  50.  
  51.  
  52. class xpathError(libxmlError):
  53.     
  54.     def __init__(self, msg):
  55.         self.msg = msg
  56.  
  57.     
  58.     def __str__(self):
  59.         return self.msg
  60.  
  61.  
  62.  
  63. class ioWrapper:
  64.     
  65.     def __init__(self, _obj):
  66.         self._ioWrapper__io = _obj
  67.         self._o = None
  68.  
  69.     
  70.     def io_close(self):
  71.         if self._ioWrapper__io == None:
  72.             return -1
  73.         self._ioWrapper__io.close()
  74.         self._ioWrapper__io = None
  75.         return 0
  76.  
  77.     
  78.     def io_flush(self):
  79.         if self._ioWrapper__io == None:
  80.             return -1
  81.         self._ioWrapper__io.flush()
  82.         return 0
  83.  
  84.     
  85.     def io_read(self, len = -1):
  86.         if self._ioWrapper__io == None:
  87.             return -1
  88.         if len < 0:
  89.             return self._ioWrapper__io.read()
  90.         return self._ioWrapper__io.read(len)
  91.  
  92.     
  93.     def io_write(self, str, len = -1):
  94.         if self._ioWrapper__io == None:
  95.             return -1
  96.         if len < 0:
  97.             return self._ioWrapper__io.write(str)
  98.         return self._ioWrapper__io.write(str, len)
  99.  
  100.  
  101.  
  102. class ioReadWrapper(ioWrapper):
  103.     
  104.     def __init__(self, _obj, enc = ''):
  105.         ioWrapper.__init__(self, _obj)
  106.         self._o = libxml2mod.xmlCreateInputBuffer(self, enc)
  107.  
  108.     
  109.     def __del__(self):
  110.         print '__del__'
  111.         self.io_close()
  112.         if self._o != None:
  113.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  114.         
  115.         self._o = None
  116.  
  117.     
  118.     def close(self):
  119.         self.io_close()
  120.         if self._o != None:
  121.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  122.         
  123.         self._o = None
  124.  
  125.  
  126.  
  127. class ioWriteWrapper(ioWrapper):
  128.     
  129.     def __init__(self, _obj, enc = ''):
  130.         if type(_obj) == type(''):
  131.             print 'write io from a string'
  132.             self.o = None
  133.         elif type(_obj) == types.InstanceType:
  134.             print 'write io from instance of %s' % _obj.__class__
  135.             ioWrapper.__init__(self, _obj)
  136.             self._o = libxml2mod.xmlCreateOutputBuffer(self, enc)
  137.         else:
  138.             file = libxml2mod.outputBufferGetPythonFile(_obj)
  139.             if file != None:
  140.                 ioWrapper.__init__(self, file)
  141.             else:
  142.                 ioWrapper.__init__(self, _obj)
  143.             self._o = _obj
  144.  
  145.     
  146.     def __del__(self):
  147.         self.io_close()
  148.         if self._o != None:
  149.             libxml2mod.xmlOutputBufferClose(self._o)
  150.         
  151.         self._o = None
  152.  
  153.     
  154.     def flush(self):
  155.         self.io_flush()
  156.         if self._o != None:
  157.             libxml2mod.xmlOutputBufferClose(self._o)
  158.         
  159.         self._o = None
  160.  
  161.     
  162.     def close(self):
  163.         self.io_flush()
  164.         if self._o != None:
  165.             libxml2mod.xmlOutputBufferClose(self._o)
  166.         
  167.         self._o = None
  168.  
  169.  
  170.  
  171. class SAXCallback:
  172.     '''Base class for SAX handlers'''
  173.     
  174.     def startDocument(self):
  175.         '''called at the start of the document'''
  176.         pass
  177.  
  178.     
  179.     def endDocument(self):
  180.         '''called at the end of the document'''
  181.         pass
  182.  
  183.     
  184.     def startElement(self, tag, attrs):
  185.         """called at the start of every element, tag is the name of
  186.            the element, attrs is a dictionary of the element's attributes"""
  187.         pass
  188.  
  189.     
  190.     def endElement(self, tag):
  191.         '''called at the start of every element, tag is the name of
  192.            the element'''
  193.         pass
  194.  
  195.     
  196.     def characters(self, data):
  197.         '''called when character data have been read, data is the string
  198.            containing the data, multiple consecutive characters() callback
  199.            are possible.'''
  200.         pass
  201.  
  202.     
  203.     def cdataBlock(self, data):
  204.         '''called when CDATA section have been read, data is the string
  205.            containing the data, multiple consecutive cdataBlock() callback
  206.            are possible.'''
  207.         pass
  208.  
  209.     
  210.     def reference(self, name):
  211.         '''called when an entity reference has been found'''
  212.         pass
  213.  
  214.     
  215.     def ignorableWhitespace(self, data):
  216.         '''called when potentially ignorable white spaces have been found'''
  217.         pass
  218.  
  219.     
  220.     def processingInstruction(self, target, data):
  221.         '''called when a PI has been found, target contains the PI name and
  222.            data is the associated data in the PI'''
  223.         pass
  224.  
  225.     
  226.     def comment(self, content):
  227.         '''called when a comment has been found, content contains the comment'''
  228.         pass
  229.  
  230.     
  231.     def externalSubset(self, name, externalID, systemID):
  232.         '''called when a DOCTYPE declaration has been found, name is the
  233.            DTD name and externalID, systemID are the DTD public and system
  234.            identifier for that DTd if available'''
  235.         pass
  236.  
  237.     
  238.     def internalSubset(self, name, externalID, systemID):
  239.         '''called when a DOCTYPE declaration has been found, name is the
  240.            DTD name and externalID, systemID are the DTD public and system
  241.            identifier for that DTD if available'''
  242.         pass
  243.  
  244.     
  245.     def entityDecl(self, name, type, externalID, systemID, content):
  246.         """called when an ENTITY declaration has been found, name is the
  247.            entity name and externalID, systemID are the entity public and
  248.            system identifier for that entity if available, type indicates
  249.            the entity type, and content reports it's string content"""
  250.         pass
  251.  
  252.     
  253.     def notationDecl(self, name, externalID, systemID):
  254.         '''called when an NOTATION declaration has been found, name is the
  255.            notation name and externalID, systemID are the notation public and
  256.            system identifier for that notation if available'''
  257.         pass
  258.  
  259.     
  260.     def attributeDecl(self, elem, name, type, defi, defaultValue, nameList):
  261.         '''called when an ATTRIBUTE definition has been found'''
  262.         pass
  263.  
  264.     
  265.     def elementDecl(self, name, type, content):
  266.         '''called when an ELEMENT definition has been found'''
  267.         pass
  268.  
  269.     
  270.     def entityDecl(self, name, publicId, systemID, notationName):
  271.         '''called when an unparsed ENTITY declaration has been found,
  272.            name is the entity name and publicId,, systemID are the entity
  273.            public and system identifier for that entity if available,
  274.            and notationName indicate the associated NOTATION'''
  275.         pass
  276.  
  277.     
  278.     def warning(self, msg):
  279.         pass
  280.  
  281.     
  282.     def error(self, msg):
  283.         raise parserError(msg)
  284.  
  285.     
  286.     def fatalError(self, msg):
  287.         raise parserError(msg)
  288.  
  289.  
  290.  
  291. class xmlCore:
  292.     
  293.     def __init__(self, _obj = None):
  294.         if _obj != None:
  295.             self._o = _obj
  296.             return None
  297.         self._o = None
  298.  
  299.     
  300.     def __eq__(self, other):
  301.         if other == None:
  302.             return False
  303.         ret = libxml2mod.compareNodesEqual(self._o, other._o)
  304.         if ret == None:
  305.             return False
  306.         return ret == True
  307.  
  308.     
  309.     def __ne__(self, other):
  310.         if other == None:
  311.             return True
  312.         ret = libxml2mod.compareNodesEqual(self._o, other._o)
  313.         return not ret
  314.  
  315.     
  316.     def __hash__(self):
  317.         ret = libxml2mod.nodeHash(self._o)
  318.         return ret
  319.  
  320.     
  321.     def __str__(self):
  322.         return self.serialize()
  323.  
  324.     
  325.     def get_parent(self):
  326.         ret = libxml2mod.parent(self._o)
  327.         if ret == None:
  328.             return None
  329.         return xmlNode(_obj = ret)
  330.  
  331.     
  332.     def get_children(self):
  333.         ret = libxml2mod.children(self._o)
  334.         if ret == None:
  335.             return None
  336.         return xmlNode(_obj = ret)
  337.  
  338.     
  339.     def get_last(self):
  340.         ret = libxml2mod.last(self._o)
  341.         if ret == None:
  342.             return None
  343.         return xmlNode(_obj = ret)
  344.  
  345.     
  346.     def get_next(self):
  347.         ret = libxml2mod.next(self._o)
  348.         if ret == None:
  349.             return None
  350.         return xmlNode(_obj = ret)
  351.  
  352.     
  353.     def get_properties(self):
  354.         ret = libxml2mod.properties(self._o)
  355.         if ret == None:
  356.             return None
  357.         return xmlAttr(_obj = ret)
  358.  
  359.     
  360.     def get_prev(self):
  361.         ret = libxml2mod.prev(self._o)
  362.         if ret == None:
  363.             return None
  364.         return xmlNode(_obj = ret)
  365.  
  366.     
  367.     def get_content(self):
  368.         return libxml2mod.xmlNodeGetContent(self._o)
  369.  
  370.     getContent = get_content
  371.     
  372.     def get_name(self):
  373.         return libxml2mod.name(self._o)
  374.  
  375.     
  376.     def get_type(self):
  377.         return libxml2mod.type(self._o)
  378.  
  379.     
  380.     def get_doc(self):
  381.         ret = libxml2mod.doc(self._o)
  382.         if ret == None:
  383.             if self.type in ('document_xml', 'document_html'):
  384.                 return xmlDoc(_obj = self._o)
  385.             return None
  386.         ret == None
  387.         return xmlDoc(_obj = ret)
  388.  
  389.     import sys
  390.     if float(sys.version[0:3]) < 2.2:
  391.         
  392.         def __getattr__(self, attr):
  393.             if attr == 'parent':
  394.                 ret = libxml2mod.parent(self._o)
  395.                 if ret == None:
  396.                     return None
  397.                 return xmlNode(_obj = ret)
  398.             if attr == 'properties':
  399.                 ret = libxml2mod.properties(self._o)
  400.                 if ret == None:
  401.                     return None
  402.                 return xmlAttr(_obj = ret)
  403.             if attr == 'children':
  404.                 ret = libxml2mod.children(self._o)
  405.                 if ret == None:
  406.                     return None
  407.                 return xmlNode(_obj = ret)
  408.             if attr == 'last':
  409.                 ret = libxml2mod.last(self._o)
  410.                 if ret == None:
  411.                     return None
  412.                 return xmlNode(_obj = ret)
  413.             if attr == 'next':
  414.                 ret = libxml2mod.next(self._o)
  415.                 if ret == None:
  416.                     return None
  417.                 return xmlNode(_obj = ret)
  418.             if attr == 'prev':
  419.                 ret = libxml2mod.prev(self._o)
  420.                 if ret == None:
  421.                     return None
  422.                 return xmlNode(_obj = ret)
  423.             if attr == 'content':
  424.                 return libxml2mod.xmlNodeGetContent(self._o)
  425.             if attr == 'name':
  426.                 return libxml2mod.name(self._o)
  427.             if attr == 'type':
  428.                 return libxml2mod.type(self._o)
  429.             if attr == 'doc':
  430.                 ret = libxml2mod.doc(self._o)
  431.                 if ret == None:
  432.                     if self.type == 'document_xml' or self.type == 'document_html':
  433.                         return xmlDoc(_obj = self._o)
  434.                     return None
  435.                 ret == None
  436.                 return xmlDoc(_obj = ret)
  437.             raise AttributeError, attr
  438.  
  439.     else:
  440.         parent = property(get_parent, None, None, 'Parent node')
  441.         children = property(get_children, None, None, 'First child node')
  442.         last = property(get_last, None, None, 'Last sibling node')
  443.         next = property(get_next, None, None, 'Next sibling node')
  444.         prev = property(get_prev, None, None, 'Previous sibling node')
  445.         properties = property(get_properties, None, None, 'List of properies')
  446.         content = property(get_content, None, None, 'Content of this node')
  447.         name = property(get_name, None, None, 'Node name')
  448.         type = property(get_type, None, None, 'Node type')
  449.         doc = property(get_doc, None, None, 'The document this node belongs to')
  450.     
  451.     def serialize(self, encoding = None, format = 0):
  452.         return libxml2mod.serializeNode(self._o, encoding, format)
  453.  
  454.     
  455.     def saveTo(self, file, encoding = None, format = 0):
  456.         return libxml2mod.saveNodeTo(self._o, file, encoding, format)
  457.  
  458.     
  459.     def c14nMemory(self, nodes = None, exclusive = 0, prefixes = None, with_comments = 0):
  460.         if nodes:
  461.             nodes = map((lambda n: n._o), nodes)
  462.         
  463.         return libxml2mod.xmlC14NDocDumpMemory(self.get_doc()._o, nodes, exclusive != 0, prefixes, with_comments != 0)
  464.  
  465.     
  466.     def c14nSaveTo(self, file, nodes = None, exclusive = 0, prefixes = None, with_comments = 0):
  467.         if nodes:
  468.             nodes = map((lambda n: n._o), nodes)
  469.         
  470.         return libxml2mod.xmlC14NDocSaveTo(self.get_doc()._o, nodes, exclusive != 0, prefixes, with_comments != 0, file)
  471.  
  472.     
  473.     def xpathEval(self, expr):
  474.         doc = self.doc
  475.         if doc == None:
  476.             return None
  477.         ctxt = doc.xpathNewContext()
  478.         ctxt.setContextNode(self)
  479.         res = ctxt.xpathEval(expr)
  480.         ctxt.xpathFreeContext()
  481.         return res
  482.  
  483.     
  484.     def xpathEval2(self, expr):
  485.         return self.xpathEval(expr)
  486.  
  487.     
  488.     def removeNsDef(self, href):
  489.         '''
  490.         Remove a namespace definition from a node.  If href is None,
  491.         remove all of the ns definitions on that node.  The removed
  492.         namespaces are returned as a linked list.
  493.  
  494.         Note: If any child nodes referred to the removed namespaces,
  495.         they will be left with dangling links.  You should call
  496.         renconciliateNs() to fix those pointers.
  497.  
  498.         Note: This method does not free memory taken by the ns
  499.         definitions.  You will need to free it manually with the
  500.         freeNsList() method on the returns xmlNs object.
  501.         '''
  502.         ret = libxml2mod.xmlNodeRemoveNsDef(self._o, href)
  503.         if ret is None:
  504.             return None
  505.         _xmlCore__tmp = xmlNs(_obj = ret)
  506.         return _xmlCore__tmp
  507.  
  508.     
  509.     def walk_depth_first(self):
  510.         return xmlCoreDepthFirstItertor(self)
  511.  
  512.     
  513.     def walk_breadth_first(self):
  514.         return xmlCoreBreadthFirstItertor(self)
  515.  
  516.     __iter__ = walk_depth_first
  517.     
  518.     def free(self):
  519.         
  520.         try:
  521.             self.doc._ctxt.xpathFreeContext()
  522.         except:
  523.             pass
  524.  
  525.         libxml2mod.xmlFreeDoc(self._o)
  526.  
  527.  
  528.  
  529. class xmlCoreDepthFirstItertor:
  530.     
  531.     def __init__(self, node):
  532.         self.node = node
  533.         self.parents = []
  534.  
  535.     
  536.     def __iter__(self):
  537.         return self
  538.  
  539.     
  540.     def next(self):
  541.         while self.node:
  542.             ret = self.node
  543.             self.parents.append(self.node)
  544.             self.node = self.node.children
  545.             return ret
  546.             
  547.             try:
  548.                 parent = self.parents.pop()
  549.             except IndexError:
  550.                 raise StopIteration
  551.  
  552.             self.node = parent.next
  553.             continue
  554.             return None
  555.  
  556.  
  557.  
  558. class xmlCoreBreadthFirstItertor:
  559.     
  560.     def __init__(self, node):
  561.         self.node = node
  562.         self.parents = []
  563.  
  564.     
  565.     def __iter__(self):
  566.         return self
  567.  
  568.     
  569.     def next(self):
  570.         while self.node:
  571.             ret = self.node
  572.             self.parents.append(self.node)
  573.             self.node = self.node.next
  574.             return ret
  575.             
  576.             try:
  577.                 parent = self.parents.pop()
  578.             except IndexError:
  579.                 raise StopIteration
  580.  
  581.             self.node = parent.children
  582.             continue
  583.             return None
  584.  
  585.  
  586.  
  587. def nodeWrap(o):
  588.     name = libxml2mod.type(o)
  589.     if name == 'element' or name == 'text':
  590.         return xmlNode(_obj = o)
  591.     if name == 'attribute':
  592.         return xmlAttr(_obj = o)
  593.     if name[0:8] == 'document':
  594.         return xmlDoc(_obj = o)
  595.     if name == 'namespace':
  596.         return xmlNs(_obj = o)
  597.     if name == 'elem_decl':
  598.         return xmlElement(_obj = o)
  599.     if name == 'attribute_decl':
  600.         return xmlAttribute(_obj = o)
  601.     if name == 'entity_decl':
  602.         return xmlEntity(_obj = o)
  603.     if name == 'dtd':
  604.         return xmlDtd(_obj = o)
  605.     return xmlNode(_obj = o)
  606.  
  607.  
  608. def xpathObjectRet(o):
  609.     otype = type(o)
  610.     if otype == type([]):
  611.         ret = map(xpathObjectRet, o)
  612.         return ret
  613.     if otype == type(()):
  614.         ret = map(xpathObjectRet, o)
  615.         return tuple(ret)
  616.     if otype == type('') and otype == type(0) or otype == type(0):
  617.         return o
  618.     return nodeWrap(o)
  619.  
  620.  
  621. def registerXPathFunction(ctxt, name, ns_uri, f):
  622.     ret = libxml2mod.xmlRegisterXPathFunction(ctxt, name, ns_uri, f)
  623.  
  624. PARSER_LOADDTD = 1
  625. PARSER_DEFAULTATTRS = 2
  626. PARSER_VALIDATE = 3
  627. PARSER_SUBST_ENTITIES = 4
  628. PARSER_SEVERITY_VALIDITY_WARNING = 1
  629. PARSER_SEVERITY_VALIDITY_ERROR = 2
  630. PARSER_SEVERITY_WARNING = 3
  631. PARSER_SEVERITY_ERROR = 4
  632.  
  633. def registerErrorHandler(f, ctx):
  634.     '''Register a Python written function to for error reporting.
  635.        The function is called back as f(ctx, error). '''
  636.     import sys
  637.     if not sys.modules.has_key('libxslt'):
  638.         ret = libxml2mod.xmlRegisterErrorHandler(f, ctx)
  639.     else:
  640.         import libxslt
  641.         ret = libxslt.registerErrorHandler(f, ctx)
  642.     return ret
  643.  
  644.  
  645. class parserCtxtCore:
  646.     
  647.     def __init__(self, _obj = None):
  648.         if _obj != None:
  649.             self._o = _obj
  650.             return None
  651.         self._o = None
  652.  
  653.     
  654.     def __del__(self):
  655.         if self._o != None:
  656.             libxml2mod.xmlFreeParserCtxt(self._o)
  657.         
  658.         self._o = None
  659.  
  660.     
  661.     def setErrorHandler(self, f, arg):
  662.         '''Register an error handler that will be called back as
  663.            f(arg,msg,severity,reserved).
  664.            
  665.            @reserved is currently always None.'''
  666.         libxml2mod.xmlParserCtxtSetErrorHandler(self._o, f, arg)
  667.  
  668.     
  669.     def getErrorHandler(self):
  670.         '''Return (f,arg) as previously registered with setErrorHandler
  671.            or (None,None).'''
  672.         return libxml2mod.xmlParserCtxtGetErrorHandler(self._o)
  673.  
  674.     
  675.     def addLocalCatalog(self, uri):
  676.         '''Register a local catalog with the parser'''
  677.         return libxml2mod.addLocalCatalog(self._o, uri)
  678.  
  679.  
  680.  
  681. class ValidCtxtCore:
  682.     
  683.     def __init__(self, *args, **kw):
  684.         pass
  685.  
  686.     
  687.     def setValidityErrorHandler(self, err_func, warn_func, arg = None):
  688.         '''
  689.         Register error and warning handlers for DTD validation.
  690.         These will be called back as f(msg,arg)
  691.         '''
  692.         libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg)
  693.  
  694.  
  695.  
  696. class SchemaValidCtxtCore:
  697.     
  698.     def __init__(self, *args, **kw):
  699.         pass
  700.  
  701.     
  702.     def setValidityErrorHandler(self, err_func, warn_func, arg = None):
  703.         '''
  704.         Register error and warning handlers for Schema validation.
  705.         These will be called back as f(msg,arg)
  706.         '''
  707.         libxml2mod.xmlSchemaSetValidErrors(self._o, err_func, warn_func, arg)
  708.  
  709.  
  710.  
  711. class relaxNgValidCtxtCore:
  712.     
  713.     def __init__(self, *args, **kw):
  714.         pass
  715.  
  716.     
  717.     def setValidityErrorHandler(self, err_func, warn_func, arg = None):
  718.         '''
  719.         Register error and warning handlers for RelaxNG validation.
  720.         These will be called back as f(msg,arg)
  721.         '''
  722.         libxml2mod.xmlRelaxNGSetValidErrors(self._o, err_func, warn_func, arg)
  723.  
  724.  
  725.  
  726. def _xmlTextReaderErrorFunc(.0, msg, severity, locator):
  727.     '''Intermediate callback to wrap the locator'''
  728.     (f, arg) = .0
  729.     return f(arg, msg, severity, xmlTextReaderLocator(locator))
  730.  
  731.  
  732. class xmlTextReaderCore:
  733.     
  734.     def __init__(self, _obj = None):
  735.         self.input = None
  736.         if _obj != None:
  737.             self._o = _obj
  738.             return None
  739.         self._o = None
  740.  
  741.     
  742.     def __del__(self):
  743.         if self._o != None:
  744.             libxml2mod.xmlFreeTextReader(self._o)
  745.         
  746.         self._o = None
  747.  
  748.     
  749.     def SetErrorHandler(self, f, arg):
  750.         '''Register an error handler that will be called back as
  751.            f(arg,msg,severity,locator).'''
  752.         if f is None:
  753.             libxml2mod.xmlTextReaderSetErrorHandler(self._o, None, None)
  754.         else:
  755.             libxml2mod.xmlTextReaderSetErrorHandler(self._o, _xmlTextReaderErrorFunc, (f, arg))
  756.  
  757.     
  758.     def GetErrorHandler(self):
  759.         '''Return (f,arg) as previously registered with setErrorHandler
  760.            or (None,None).'''
  761.         (f, arg) = libxml2mod.xmlTextReaderGetErrorHandler(self._o)
  762.         if f is None:
  763.             return (None, None)
  764.         return arg
  765.  
  766.  
  767.  
  768. def cleanupParser():
  769.     libxml2mod.xmlPythonCleanupParser()
  770.  
  771.  
  772. def htmlCreateMemoryParserCtxt(buffer, size):
  773.     '''Create a parser context for an HTML in-memory document. '''
  774.     ret = libxml2mod.htmlCreateMemoryParserCtxt(buffer, size)
  775.     if ret is None:
  776.         raise parserError('htmlCreateMemoryParserCtxt() failed')
  777.     ret is None
  778.     return parserCtxt(_obj = ret)
  779.  
  780.  
  781. def htmlHandleOmittedElem(val):
  782.     '''Set and return the previous value for handling HTML omitted
  783.        tags. '''
  784.     ret = libxml2mod.htmlHandleOmittedElem(val)
  785.     return ret
  786.  
  787.  
  788. def htmlIsScriptAttribute(name):
  789.     '''Check if an attribute is of content type Script '''
  790.     ret = libxml2mod.htmlIsScriptAttribute(name)
  791.     return ret
  792.  
  793.  
  794. def htmlNewParserCtxt():
  795.     '''Allocate and initialize a new parser context. '''
  796.     ret = libxml2mod.htmlNewParserCtxt()
  797.     if ret is None:
  798.         raise parserError('htmlNewParserCtxt() failed')
  799.     ret is None
  800.     return parserCtxt(_obj = ret)
  801.  
  802.  
  803. def htmlParseDoc(cur, encoding):
  804.     '''parse an HTML in-memory document and build a tree. '''
  805.     ret = libxml2mod.htmlParseDoc(cur, encoding)
  806.     if ret is None:
  807.         raise parserError('htmlParseDoc() failed')
  808.     ret is None
  809.     return xmlDoc(_obj = ret)
  810.  
  811.  
  812. def htmlParseFile(filename, encoding):
  813.     '''parse an HTML file and build a tree. Automatic support for
  814.       ZLIB/Compress compressed document is provided by default if
  815.        found at compile-time. '''
  816.     ret = libxml2mod.htmlParseFile(filename, encoding)
  817.     if ret is None:
  818.         raise parserError('htmlParseFile() failed')
  819.     ret is None
  820.     return xmlDoc(_obj = ret)
  821.  
  822.  
  823. def htmlReadDoc(cur, URL, encoding, options):
  824.     '''parse an XML in-memory document and build a tree. '''
  825.     ret = libxml2mod.htmlReadDoc(cur, URL, encoding, options)
  826.     if ret is None:
  827.         raise treeError('htmlReadDoc() failed')
  828.     ret is None
  829.     return xmlDoc(_obj = ret)
  830.  
  831.  
  832. def htmlReadFd(fd, URL, encoding, options):
  833.     '''parse an XML from a file descriptor and build a tree. '''
  834.     ret = libxml2mod.htmlReadFd(fd, URL, encoding, options)
  835.     if ret is None:
  836.         raise treeError('htmlReadFd() failed')
  837.     ret is None
  838.     return xmlDoc(_obj = ret)
  839.  
  840.  
  841. def htmlReadFile(filename, encoding, options):
  842.     '''parse an XML file from the filesystem or the network. '''
  843.     ret = libxml2mod.htmlReadFile(filename, encoding, options)
  844.     if ret is None:
  845.         raise treeError('htmlReadFile() failed')
  846.     ret is None
  847.     return xmlDoc(_obj = ret)
  848.  
  849.  
  850. def htmlReadMemory(buffer, size, URL, encoding, options):
  851.     '''parse an XML in-memory document and build a tree. '''
  852.     ret = libxml2mod.htmlReadMemory(buffer, size, URL, encoding, options)
  853.     if ret is None:
  854.         raise treeError('htmlReadMemory() failed')
  855.     ret is None
  856.     return xmlDoc(_obj = ret)
  857.  
  858.  
  859. def htmlIsBooleanAttr(name):
  860.     '''Determine if a given attribute is a boolean attribute. '''
  861.     ret = libxml2mod.htmlIsBooleanAttr(name)
  862.     return ret
  863.  
  864.  
  865. def htmlNewDoc(URI, ExternalID):
  866.     '''Creates a new HTML document '''
  867.     ret = libxml2mod.htmlNewDoc(URI, ExternalID)
  868.     if ret is None:
  869.         raise treeError('htmlNewDoc() failed')
  870.     ret is None
  871.     return xmlDoc(_obj = ret)
  872.  
  873.  
  874. def htmlNewDocNoDtD(URI, ExternalID):
  875.     '''Creates a new HTML document without a DTD node if @URI and
  876.        @ExternalID are None '''
  877.     ret = libxml2mod.htmlNewDocNoDtD(URI, ExternalID)
  878.     if ret is None:
  879.         raise treeError('htmlNewDocNoDtD() failed')
  880.     ret is None
  881.     return xmlDoc(_obj = ret)
  882.  
  883.  
  884. def SAXDefaultVersion(version):
  885.     '''Set the default version of SAX used globally by the
  886.       library. By default, during initialization the default is
  887.       set to 2. Note that it is generally a better coding style
  888.       to use xmlSAXVersion() to set up the version explicitly for
  889.        a given parsing context. '''
  890.     ret = libxml2mod.xmlSAXDefaultVersion(version)
  891.     return ret
  892.  
  893.  
  894. def defaultSAXHandlerInit():
  895.     '''Initialize the default SAX2 handler '''
  896.     libxml2mod.xmlDefaultSAXHandlerInit()
  897.  
  898.  
  899. def docbDefaultSAXHandlerInit():
  900.     '''Initialize the default SAX handler '''
  901.     libxml2mod.docbDefaultSAXHandlerInit()
  902.  
  903.  
  904. def htmlDefaultSAXHandlerInit():
  905.     '''Initialize the default SAX handler '''
  906.     libxml2mod.htmlDefaultSAXHandlerInit()
  907.  
  908.  
  909. def catalogAdd(type, orig, replace):
  910.     '''Add an entry in the catalog, it may overwrite existing but
  911.       different entries. If called before any other catalog
  912.       routine, allows to override the default shared catalog put
  913.        in place by xmlInitializeCatalog(); '''
  914.     ret = libxml2mod.xmlCatalogAdd(type, orig, replace)
  915.     return ret
  916.  
  917.  
  918. def catalogCleanup():
  919.     '''Free up all the memory associated with catalogs '''
  920.     libxml2mod.xmlCatalogCleanup()
  921.  
  922.  
  923. def catalogConvert():
  924.     '''Convert all the SGML catalog entries as XML ones '''
  925.     ret = libxml2mod.xmlCatalogConvert()
  926.     return ret
  927.  
  928.  
  929. def catalogDump(out):
  930.     '''Dump all the global catalog content to the given file. '''
  931.     libxml2mod.xmlCatalogDump(out)
  932.  
  933.  
  934. def catalogGetPublic(pubID):
  935.     '''Try to lookup the catalog reference associated to a public
  936.        ID DEPRECATED, use xmlCatalogResolvePublic() '''
  937.     ret = libxml2mod.xmlCatalogGetPublic(pubID)
  938.     return ret
  939.  
  940.  
  941. def catalogGetSystem(sysID):
  942.     '''Try to lookup the catalog reference associated to a system
  943.        ID DEPRECATED, use xmlCatalogResolveSystem() '''
  944.     ret = libxml2mod.xmlCatalogGetSystem(sysID)
  945.     return ret
  946.  
  947.  
  948. def catalogRemove(value):
  949.     '''Remove an entry from the catalog '''
  950.     ret = libxml2mod.xmlCatalogRemove(value)
  951.     return ret
  952.  
  953.  
  954. def catalogResolve(pubID, sysID):
  955.     '''Do a complete resolution lookup of an External Identifier '''
  956.     ret = libxml2mod.xmlCatalogResolve(pubID, sysID)
  957.     return ret
  958.  
  959.  
  960. def catalogResolvePublic(pubID):
  961.     '''Try to lookup the catalog reference associated to a public
  962.        ID '''
  963.     ret = libxml2mod.xmlCatalogResolvePublic(pubID)
  964.     return ret
  965.  
  966.  
  967. def catalogResolveSystem(sysID):
  968.     '''Try to lookup the catalog resource for a system ID '''
  969.     ret = libxml2mod.xmlCatalogResolveSystem(sysID)
  970.     return ret
  971.  
  972.  
  973. def catalogResolveURI(URI):
  974.     '''Do a complete resolution lookup of an URI '''
  975.     ret = libxml2mod.xmlCatalogResolveURI(URI)
  976.     return ret
  977.  
  978.  
  979. def catalogSetDebug(level):
  980.     '''Used to set the debug level for catalog operation, 0
  981.        disable debugging, 1 enable it '''
  982.     ret = libxml2mod.xmlCatalogSetDebug(level)
  983.     return ret
  984.  
  985.  
  986. def initializeCatalog():
  987.     '''Do the catalog initialization. this function is not thread
  988.       safe, catalog initialization should preferably be done once
  989.        at startup '''
  990.     libxml2mod.xmlInitializeCatalog()
  991.  
  992.  
  993. def loadACatalog(filename):
  994.     '''Load the catalog and build the associated data structures.
  995.       This can be either an XML Catalog or an SGML Catalog It
  996.       will recurse in SGML CATALOG entries. On the other hand XML
  997.        Catalogs are not handled recursively. '''
  998.     ret = libxml2mod.xmlLoadACatalog(filename)
  999.     if ret is None:
  1000.         raise treeError('xmlLoadACatalog() failed')
  1001.     ret is None
  1002.     return catalog(_obj = ret)
  1003.  
  1004.  
  1005. def loadCatalog(filename):
  1006.     '''Load the catalog and makes its definitions effective for
  1007.       the default external entity loader. It will recurse in SGML
  1008.       CATALOG entries. this function is not thread safe, catalog
  1009.        initialization should preferably be done once at startup '''
  1010.     ret = libxml2mod.xmlLoadCatalog(filename)
  1011.     return ret
  1012.  
  1013.  
  1014. def loadCatalogs(pathss):
  1015.     '''Load the catalogs and makes their definitions effective for
  1016.       the default external entity loader. this function is not
  1017.       thread safe, catalog initialization should preferably be
  1018.        done once at startup '''
  1019.     libxml2mod.xmlLoadCatalogs(pathss)
  1020.  
  1021.  
  1022. def loadSGMLSuperCatalog(filename):
  1023.     """Load an SGML super catalog. It won't expand CATALOG or
  1024.       DELEGATE references. This is only needed for manipulating
  1025.       SGML Super Catalogs like adding and removing CATALOG or
  1026.        DELEGATE entries. """
  1027.     ret = libxml2mod.xmlLoadSGMLSuperCatalog(filename)
  1028.     if ret is None:
  1029.         raise treeError('xmlLoadSGMLSuperCatalog() failed')
  1030.     ret is None
  1031.     return catalog(_obj = ret)
  1032.  
  1033.  
  1034. def newCatalog(sgml):
  1035.     '''create a new Catalog. '''
  1036.     ret = libxml2mod.xmlNewCatalog(sgml)
  1037.     if ret is None:
  1038.         raise treeError('xmlNewCatalog() failed')
  1039.     ret is None
  1040.     return catalog(_obj = ret)
  1041.  
  1042.  
  1043. def parseCatalogFile(filename):
  1044.     """parse an XML file and build a tree. It's like
  1045.        xmlParseFile() except it bypass all catalog lookups. """
  1046.     ret = libxml2mod.xmlParseCatalogFile(filename)
  1047.     if ret is None:
  1048.         raise parserError('xmlParseCatalogFile() failed')
  1049.     ret is None
  1050.     return xmlDoc(_obj = ret)
  1051.  
  1052.  
  1053. def isBaseChar(ch):
  1054.     '''This function is DEPRECATED. Use xmlIsBaseChar_ch or
  1055.        xmlIsBaseCharQ instead '''
  1056.     ret = libxml2mod.xmlIsBaseChar(ch)
  1057.     return ret
  1058.  
  1059.  
  1060. def isBlank(ch):
  1061.     '''This function is DEPRECATED. Use xmlIsBlank_ch or
  1062.        xmlIsBlankQ instead '''
  1063.     ret = libxml2mod.xmlIsBlank(ch)
  1064.     return ret
  1065.  
  1066.  
  1067. def isChar(ch):
  1068.     '''This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ
  1069.        instead '''
  1070.     ret = libxml2mod.xmlIsChar(ch)
  1071.     return ret
  1072.  
  1073.  
  1074. def isCombining(ch):
  1075.     '''This function is DEPRECATED. Use xmlIsCombiningQ instead '''
  1076.     ret = libxml2mod.xmlIsCombining(ch)
  1077.     return ret
  1078.  
  1079.  
  1080. def isDigit(ch):
  1081.     '''This function is DEPRECATED. Use xmlIsDigit_ch or
  1082.        xmlIsDigitQ instead '''
  1083.     ret = libxml2mod.xmlIsDigit(ch)
  1084.     return ret
  1085.  
  1086.  
  1087. def isExtender(ch):
  1088.     '''This function is DEPRECATED. Use xmlIsExtender_ch or
  1089.        xmlIsExtenderQ instead '''
  1090.     ret = libxml2mod.xmlIsExtender(ch)
  1091.     return ret
  1092.  
  1093.  
  1094. def isIdeographic(ch):
  1095.     '''This function is DEPRECATED. Use xmlIsIdeographicQ instead '''
  1096.     ret = libxml2mod.xmlIsIdeographic(ch)
  1097.     return ret
  1098.  
  1099.  
  1100. def isPubidChar(ch):
  1101.     '''This function is DEPRECATED. Use xmlIsPubidChar_ch or
  1102.        xmlIsPubidCharQ instead '''
  1103.     ret = libxml2mod.xmlIsPubidChar(ch)
  1104.     return ret
  1105.  
  1106.  
  1107. def boolToText(boolval):
  1108.     '''Convenient way to turn bool into text '''
  1109.     ret = libxml2mod.xmlBoolToText(boolval)
  1110.     return ret
  1111.  
  1112.  
  1113. def debugDumpString(output, str):
  1114.     '''Dumps informations about the string, shorten it if necessary '''
  1115.     libxml2mod.xmlDebugDumpString(output, str)
  1116.  
  1117.  
  1118. def shellPrintXPathError(errorType, arg):
  1119.     '''Print the xpath error to libxml default error channel '''
  1120.     libxml2mod.xmlShellPrintXPathError(errorType, arg)
  1121.  
  1122.  
  1123. def dictCleanup():
  1124.     '''Free the dictionary mutex. '''
  1125.     libxml2mod.xmlDictCleanup()
  1126.  
  1127.  
  1128. def addEncodingAlias(name, alias):
  1129.     '''Registers an alias @alias for an encoding named @name.
  1130.        Existing alias will be overwritten. '''
  1131.     ret = libxml2mod.xmlAddEncodingAlias(name, alias)
  1132.     return ret
  1133.  
  1134.  
  1135. def cleanupCharEncodingHandlers():
  1136.     '''Cleanup the memory allocated for the char encoding support,
  1137.        it unregisters all the encoding handlers and the aliases. '''
  1138.     libxml2mod.xmlCleanupCharEncodingHandlers()
  1139.  
  1140.  
  1141. def cleanupEncodingAliases():
  1142.     '''Unregisters all aliases '''
  1143.     libxml2mod.xmlCleanupEncodingAliases()
  1144.  
  1145.  
  1146. def delEncodingAlias(alias):
  1147.     '''Unregisters an encoding alias @alias '''
  1148.     ret = libxml2mod.xmlDelEncodingAlias(alias)
  1149.     return ret
  1150.  
  1151.  
  1152. def encodingAlias(alias):
  1153.     '''Lookup an encoding name for the given alias. '''
  1154.     ret = libxml2mod.xmlGetEncodingAlias(alias)
  1155.     return ret
  1156.  
  1157.  
  1158. def initCharEncodingHandlers():
  1159.     """Initialize the char encoding support, it registers the
  1160.       default encoding supported. NOTE: while public, this
  1161.       function usually doesn't need to be called in normal
  1162.        processing. """
  1163.     libxml2mod.xmlInitCharEncodingHandlers()
  1164.  
  1165.  
  1166. def cleanupPredefinedEntities():
  1167.     '''Cleanup up the predefined entities table. Deprecated call '''
  1168.     libxml2mod.xmlCleanupPredefinedEntities()
  1169.  
  1170.  
  1171. def initializePredefinedEntities():
  1172.     '''Set up the predefined entities. Deprecated call '''
  1173.     libxml2mod.xmlInitializePredefinedEntities()
  1174.  
  1175.  
  1176. def predefinedEntity(name):
  1177.     '''Check whether this name is an predefined entity. '''
  1178.     ret = libxml2mod.xmlGetPredefinedEntity(name)
  1179.     if ret is None:
  1180.         raise treeError('xmlGetPredefinedEntity() failed')
  1181.     ret is None
  1182.     return xmlEntity(_obj = ret)
  1183.  
  1184.  
  1185. def cleanupGlobals():
  1186.     '''Additional cleanup for multi-threading '''
  1187.     libxml2mod.xmlCleanupGlobals()
  1188.  
  1189.  
  1190. def initGlobals():
  1191.     '''Additional initialisation for multi-threading '''
  1192.     libxml2mod.xmlInitGlobals()
  1193.  
  1194.  
  1195. def thrDefDefaultBufferSize(v):
  1196.     ret = libxml2mod.xmlThrDefDefaultBufferSize(v)
  1197.     return ret
  1198.  
  1199.  
  1200. def thrDefDoValidityCheckingDefaultValue(v):
  1201.     ret = libxml2mod.xmlThrDefDoValidityCheckingDefaultValue(v)
  1202.     return ret
  1203.  
  1204.  
  1205. def thrDefGetWarningsDefaultValue(v):
  1206.     ret = libxml2mod.xmlThrDefGetWarningsDefaultValue(v)
  1207.     return ret
  1208.  
  1209.  
  1210. def thrDefIndentTreeOutput(v):
  1211.     ret = libxml2mod.xmlThrDefIndentTreeOutput(v)
  1212.     return ret
  1213.  
  1214.  
  1215. def thrDefKeepBlanksDefaultValue(v):
  1216.     ret = libxml2mod.xmlThrDefKeepBlanksDefaultValue(v)
  1217.     return ret
  1218.  
  1219.  
  1220. def thrDefLineNumbersDefaultValue(v):
  1221.     ret = libxml2mod.xmlThrDefLineNumbersDefaultValue(v)
  1222.     return ret
  1223.  
  1224.  
  1225. def thrDefLoadExtDtdDefaultValue(v):
  1226.     ret = libxml2mod.xmlThrDefLoadExtDtdDefaultValue(v)
  1227.     return ret
  1228.  
  1229.  
  1230. def thrDefParserDebugEntities(v):
  1231.     ret = libxml2mod.xmlThrDefParserDebugEntities(v)
  1232.     return ret
  1233.  
  1234.  
  1235. def thrDefPedanticParserDefaultValue(v):
  1236.     ret = libxml2mod.xmlThrDefPedanticParserDefaultValue(v)
  1237.     return ret
  1238.  
  1239.  
  1240. def thrDefSaveNoEmptyTags(v):
  1241.     ret = libxml2mod.xmlThrDefSaveNoEmptyTags(v)
  1242.     return ret
  1243.  
  1244.  
  1245. def thrDefSubstituteEntitiesDefaultValue(v):
  1246.     ret = libxml2mod.xmlThrDefSubstituteEntitiesDefaultValue(v)
  1247.     return ret
  1248.  
  1249.  
  1250. def thrDefTreeIndentString(v):
  1251.     ret = libxml2mod.xmlThrDefTreeIndentString(v)
  1252.     return ret
  1253.  
  1254.  
  1255. def nanoFTPCleanup():
  1256.     '''Cleanup the FTP protocol layer. This cleanup proxy
  1257.        informations. '''
  1258.     libxml2mod.xmlNanoFTPCleanup()
  1259.  
  1260.  
  1261. def nanoFTPInit():
  1262.     '''Initialize the FTP protocol layer. Currently it just checks
  1263.        for proxy informations, and get the hostname '''
  1264.     libxml2mod.xmlNanoFTPInit()
  1265.  
  1266.  
  1267. def nanoFTPProxy(host, port, user, passwd, type):
  1268.     '''Setup the FTP proxy informations. This can also be done by
  1269.       using ftp_proxy ftp_proxy_user and ftp_proxy_password
  1270.        environment variables. '''
  1271.     libxml2mod.xmlNanoFTPProxy(host, port, user, passwd, type)
  1272.  
  1273.  
  1274. def nanoFTPScanProxy(URL):
  1275.     '''(Re)Initialize the FTP Proxy context by parsing the URL and
  1276.       finding the protocol host port it indicates. Should be like
  1277.       ftp://myproxy/ or ftp://myproxy:3128/ A None URL cleans up
  1278.        proxy informations. '''
  1279.     libxml2mod.xmlNanoFTPScanProxy(URL)
  1280.  
  1281.  
  1282. def nanoHTTPCleanup():
  1283.     '''Cleanup the HTTP protocol layer. '''
  1284.     libxml2mod.xmlNanoHTTPCleanup()
  1285.  
  1286.  
  1287. def nanoHTTPInit():
  1288.     '''Initialize the HTTP protocol layer. Currently it just
  1289.        checks for proxy informations '''
  1290.     libxml2mod.xmlNanoHTTPInit()
  1291.  
  1292.  
  1293. def nanoHTTPScanProxy(URL):
  1294.     '''(Re)Initialize the HTTP Proxy context by parsing the URL
  1295.       and finding the protocol host port it indicates. Should be
  1296.       like http://myproxy/ or http://myproxy:3128/ A None URL
  1297.        cleans up proxy informations. '''
  1298.     libxml2mod.xmlNanoHTTPScanProxy(URL)
  1299.  
  1300.  
  1301. def createDocParserCtxt(cur):
  1302.     '''Creates a parser context for an XML in-memory document. '''
  1303.     ret = libxml2mod.xmlCreateDocParserCtxt(cur)
  1304.     if ret is None:
  1305.         raise parserError('xmlCreateDocParserCtxt() failed')
  1306.     ret is None
  1307.     return parserCtxt(_obj = ret)
  1308.  
  1309.  
  1310. def initParser():
  1311.     '''Initialization function for the XML parser. This is not
  1312.       reentrant. Call once before processing in case of use in
  1313.        multithreaded programs. '''
  1314.     libxml2mod.xmlInitParser()
  1315.  
  1316.  
  1317. def keepBlanksDefault(val):
  1318.     '''Set and return the previous value for default blanks text
  1319.       nodes support. The 1.x version of the parser used an
  1320.       heuristic to try to detect ignorable white spaces. As a
  1321.       result the SAX callback was generating
  1322.       xmlSAX2IgnorableWhitespace() callbacks instead of
  1323.       characters() one, and when using the DOM output text nodes
  1324.       containing those blanks were not generated. The 2.x and
  1325.       later version will switch to the XML standard way and
  1326.       ignorableWhitespace() are only generated when running the
  1327.       parser in validating mode and when the current element
  1328.       doesn\'t allow CDATA or mixed content. This function is
  1329.       provided as a way to force the standard behavior on 1.X
  1330.       libs and to switch back to the old mode for compatibility
  1331.       when running 1.X client code on 2.X . Upgrade of 1.X code
  1332.       should be done by using xmlIsBlankNode() commodity function
  1333.       to detect the "empty" nodes generated. This value also
  1334.       affect autogeneration of indentation when saving code if
  1335.        blanks sections are kept, indentation is not generated. '''
  1336.     ret = libxml2mod.xmlKeepBlanksDefault(val)
  1337.     return ret
  1338.  
  1339.  
  1340. def lineNumbersDefault(val):
  1341.     '''Set and return the previous value for enabling line numbers
  1342.       in elements contents. This may break on old application and
  1343.        is turned off by default. '''
  1344.     ret = libxml2mod.xmlLineNumbersDefault(val)
  1345.     return ret
  1346.  
  1347.  
  1348. def newParserCtxt():
  1349.     '''Allocate and initialize a new parser context. '''
  1350.     ret = libxml2mod.xmlNewParserCtxt()
  1351.     if ret is None:
  1352.         raise parserError('xmlNewParserCtxt() failed')
  1353.     ret is None
  1354.     return parserCtxt(_obj = ret)
  1355.  
  1356.  
  1357. def parseDTD(ExternalID, SystemID):
  1358.     '''Load and parse an external subset. '''
  1359.     ret = libxml2mod.xmlParseDTD(ExternalID, SystemID)
  1360.     if ret is None:
  1361.         raise parserError('xmlParseDTD() failed')
  1362.     ret is None
  1363.     return xmlDtd(_obj = ret)
  1364.  
  1365.  
  1366. def parseDoc(cur):
  1367.     '''parse an XML in-memory document and build a tree. '''
  1368.     ret = libxml2mod.xmlParseDoc(cur)
  1369.     if ret is None:
  1370.         raise parserError('xmlParseDoc() failed')
  1371.     ret is None
  1372.     return xmlDoc(_obj = ret)
  1373.  
  1374.  
  1375. def parseEntity(filename):
  1376.     '''parse an XML external entity out of context and build a
  1377.       tree.  [78] extParsedEnt ::= TextDecl? content  This
  1378.        correspond to a "Well Balanced" chunk '''
  1379.     ret = libxml2mod.xmlParseEntity(filename)
  1380.     if ret is None:
  1381.         raise parserError('xmlParseEntity() failed')
  1382.     ret is None
  1383.     return xmlDoc(_obj = ret)
  1384.  
  1385.  
  1386. def parseFile(filename):
  1387.     '''parse an XML file and build a tree. Automatic support for
  1388.       ZLIB/Compress compressed document is provided by default if
  1389.        found at compile-time. '''
  1390.     ret = libxml2mod.xmlParseFile(filename)
  1391.     if ret is None:
  1392.         raise parserError('xmlParseFile() failed')
  1393.     ret is None
  1394.     return xmlDoc(_obj = ret)
  1395.  
  1396.  
  1397. def parseMemory(buffer, size):
  1398.     '''parse an XML in-memory block and build a tree. '''
  1399.     ret = libxml2mod.xmlParseMemory(buffer, size)
  1400.     if ret is None:
  1401.         raise parserError('xmlParseMemory() failed')
  1402.     ret is None
  1403.     return xmlDoc(_obj = ret)
  1404.  
  1405.  
  1406. def pedanticParserDefault(val):
  1407.     '''Set and return the previous value for enabling pedantic
  1408.        warnings. '''
  1409.     ret = libxml2mod.xmlPedanticParserDefault(val)
  1410.     return ret
  1411.  
  1412.  
  1413. def readDoc(cur, URL, encoding, options):
  1414.     '''parse an XML in-memory document and build a tree. '''
  1415.     ret = libxml2mod.xmlReadDoc(cur, URL, encoding, options)
  1416.     if ret is None:
  1417.         raise treeError('xmlReadDoc() failed')
  1418.     ret is None
  1419.     return xmlDoc(_obj = ret)
  1420.  
  1421.  
  1422. def readFd(fd, URL, encoding, options):
  1423.     '''parse an XML from a file descriptor and build a tree. NOTE
  1424.       that the file descriptor will not be closed when the reader
  1425.        is closed or reset. '''
  1426.     ret = libxml2mod.xmlReadFd(fd, URL, encoding, options)
  1427.     if ret is None:
  1428.         raise treeError('xmlReadFd() failed')
  1429.     ret is None
  1430.     return xmlDoc(_obj = ret)
  1431.  
  1432.  
  1433. def readFile(filename, encoding, options):
  1434.     '''parse an XML file from the filesystem or the network. '''
  1435.     ret = libxml2mod.xmlReadFile(filename, encoding, options)
  1436.     if ret is None:
  1437.         raise treeError('xmlReadFile() failed')
  1438.     ret is None
  1439.     return xmlDoc(_obj = ret)
  1440.  
  1441.  
  1442. def readMemory(buffer, size, URL, encoding, options):
  1443.     '''parse an XML in-memory document and build a tree. '''
  1444.     ret = libxml2mod.xmlReadMemory(buffer, size, URL, encoding, options)
  1445.     if ret is None:
  1446.         raise treeError('xmlReadMemory() failed')
  1447.     ret is None
  1448.     return xmlDoc(_obj = ret)
  1449.  
  1450.  
  1451. def recoverDoc(cur):
  1452.     '''parse an XML in-memory document and build a tree. In the
  1453.       case the document is not Well Formed, a attempt to build a
  1454.        tree is tried anyway '''
  1455.     ret = libxml2mod.xmlRecoverDoc(cur)
  1456.     if ret is None:
  1457.         raise treeError('xmlRecoverDoc() failed')
  1458.     ret is None
  1459.     return xmlDoc(_obj = ret)
  1460.  
  1461.  
  1462. def recoverFile(filename):
  1463.     '''parse an XML file and build a tree. Automatic support for
  1464.       ZLIB/Compress compressed document is provided by default if
  1465.       found at compile-time. In the case the document is not Well
  1466.        Formed, it attempts to build a tree anyway '''
  1467.     ret = libxml2mod.xmlRecoverFile(filename)
  1468.     if ret is None:
  1469.         raise treeError('xmlRecoverFile() failed')
  1470.     ret is None
  1471.     return xmlDoc(_obj = ret)
  1472.  
  1473.  
  1474. def recoverMemory(buffer, size):
  1475.     '''parse an XML in-memory block and build a tree. In the case
  1476.       the document is not Well Formed, an attempt to build a tree
  1477.        is tried anyway '''
  1478.     ret = libxml2mod.xmlRecoverMemory(buffer, size)
  1479.     if ret is None:
  1480.         raise treeError('xmlRecoverMemory() failed')
  1481.     ret is None
  1482.     return xmlDoc(_obj = ret)
  1483.  
  1484.  
  1485. def substituteEntitiesDefault(val):
  1486.     '''Set and return the previous value for default entity
  1487.       support. Initially the parser always keep entity references
  1488.       instead of substituting entity values in the output. This
  1489.       function has to be used to change the default parser
  1490.       behavior SAX::substituteEntities() has to be used for
  1491.        changing that on a file by file basis. '''
  1492.     ret = libxml2mod.xmlSubstituteEntitiesDefault(val)
  1493.     return ret
  1494.  
  1495.  
  1496. def checkLanguageID(lang):
  1497.     """Checks that the value conforms to the LanguageID
  1498.       production:  NOTE: this is somewhat deprecated, those
  1499.       productions were removed from the XML Second edition.  [33]
  1500.       LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::=
  1501.       ISO639Code |  IanaCode |  UserCode [35] ISO639Code ::=
  1502.       ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' |
  1503.       'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-'
  1504.        ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ """
  1505.     ret = libxml2mod.xmlCheckLanguageID(lang)
  1506.     return ret
  1507.  
  1508.  
  1509. def copyChar(len, out, val):
  1510.     '''append the char value in the array '''
  1511.     ret = libxml2mod.xmlCopyChar(len, out, val)
  1512.     return ret
  1513.  
  1514.  
  1515. def copyCharMultiByte(out, val):
  1516.     '''append the char value in the array '''
  1517.     ret = libxml2mod.xmlCopyCharMultiByte(out, val)
  1518.     return ret
  1519.  
  1520.  
  1521. def createEntityParserCtxt(URL, ID, base):
  1522.     '''Create a parser context for an external entity Automatic
  1523.       support for ZLIB/Compress compressed document is provided
  1524.        by default if found at compile-time. '''
  1525.     ret = libxml2mod.xmlCreateEntityParserCtxt(URL, ID, base)
  1526.     if ret is None:
  1527.         raise parserError('xmlCreateEntityParserCtxt() failed')
  1528.     ret is None
  1529.     return parserCtxt(_obj = ret)
  1530.  
  1531.  
  1532. def createFileParserCtxt(filename):
  1533.     '''Create a parser context for a file content. Automatic
  1534.       support for ZLIB/Compress compressed document is provided
  1535.        by default if found at compile-time. '''
  1536.     ret = libxml2mod.xmlCreateFileParserCtxt(filename)
  1537.     if ret is None:
  1538.         raise parserError('xmlCreateFileParserCtxt() failed')
  1539.     ret is None
  1540.     return parserCtxt(_obj = ret)
  1541.  
  1542.  
  1543. def createMemoryParserCtxt(buffer, size):
  1544.     '''Create a parser context for an XML in-memory document. '''
  1545.     ret = libxml2mod.xmlCreateMemoryParserCtxt(buffer, size)
  1546.     if ret is None:
  1547.         raise parserError('xmlCreateMemoryParserCtxt() failed')
  1548.     ret is None
  1549.     return parserCtxt(_obj = ret)
  1550.  
  1551.  
  1552. def createURLParserCtxt(filename, options):
  1553.     '''Create a parser context for a file or URL content.
  1554.       Automatic support for ZLIB/Compress compressed document is
  1555.       provided by default if found at compile-time and for file
  1556.        accesses '''
  1557.     ret = libxml2mod.xmlCreateURLParserCtxt(filename, options)
  1558.     if ret is None:
  1559.         raise parserError('xmlCreateURLParserCtxt() failed')
  1560.     ret is None
  1561.     return parserCtxt(_obj = ret)
  1562.  
  1563.  
  1564. def htmlCreateFileParserCtxt(filename, encoding):
  1565.     '''Create a parser context for a file content. Automatic
  1566.       support for ZLIB/Compress compressed document is provided
  1567.        by default if found at compile-time. '''
  1568.     ret = libxml2mod.htmlCreateFileParserCtxt(filename, encoding)
  1569.     if ret is None:
  1570.         raise parserError('htmlCreateFileParserCtxt() failed')
  1571.     ret is None
  1572.     return parserCtxt(_obj = ret)
  1573.  
  1574.  
  1575. def htmlInitAutoClose():
  1576.     '''Initialize the htmlStartCloseIndex for fast lookup of
  1577.       closing tags names. This is not reentrant. Call
  1578.       xmlInitParser() once before processing in case of use in
  1579.        multithreaded programs. '''
  1580.     libxml2mod.htmlInitAutoClose()
  1581.  
  1582.  
  1583. def isLetter(c):
  1584.     '''Check whether the character is allowed by the production
  1585.        [84] Letter ::= BaseChar | Ideographic '''
  1586.     ret = libxml2mod.xmlIsLetter(c)
  1587.     return ret
  1588.  
  1589.  
  1590. def namePop(ctxt):
  1591.     '''Pops the top element name from the name stack '''
  1592.     if ctxt is None:
  1593.         ctxt__o = None
  1594.     else:
  1595.         ctxt__o = ctxt._o
  1596.     ret = libxml2mod.namePop(ctxt__o)
  1597.     return ret
  1598.  
  1599.  
  1600. def namePush(ctxt, value):
  1601.     '''Pushes a new element name on top of the name stack '''
  1602.     if ctxt is None:
  1603.         ctxt__o = None
  1604.     else:
  1605.         ctxt__o = ctxt._o
  1606.     ret = libxml2mod.namePush(ctxt__o, value)
  1607.     return ret
  1608.  
  1609.  
  1610. def nodePop(ctxt):
  1611.     '''Pops the top element node from the node stack '''
  1612.     if ctxt is None:
  1613.         ctxt__o = None
  1614.     else:
  1615.         ctxt__o = ctxt._o
  1616.     ret = libxml2mod.nodePop(ctxt__o)
  1617.     if ret is None:
  1618.         raise treeError('nodePop() failed')
  1619.     ret is None
  1620.     return xmlNode(_obj = ret)
  1621.  
  1622.  
  1623. def nodePush(ctxt, value):
  1624.     '''Pushes a new element node on top of the node stack '''
  1625.     if ctxt is None:
  1626.         ctxt__o = None
  1627.     else:
  1628.         ctxt__o = ctxt._o
  1629.     if value is None:
  1630.         value__o = None
  1631.     else:
  1632.         value__o = value._o
  1633.     ret = libxml2mod.nodePush(ctxt__o, value__o)
  1634.     return ret
  1635.  
  1636.  
  1637. def SAXParseFile(SAX, URI, recover):
  1638.     '''Interface to parse an XML file or resource pointed by an
  1639.        URI to build an event flow to the SAX object '''
  1640.     libxml2mod.xmlSAXParseFile(SAX, URI, recover)
  1641.  
  1642.  
  1643. def createInputBuffer(file, encoding):
  1644.     '''Create a libxml2 input buffer from a Python file '''
  1645.     ret = libxml2mod.xmlCreateInputBuffer(file, encoding)
  1646.     if ret is None:
  1647.         raise treeError('xmlCreateInputBuffer() failed')
  1648.     ret is None
  1649.     return inputBuffer(_obj = ret)
  1650.  
  1651.  
  1652. def createOutputBuffer(file, encoding):
  1653.     '''Create a libxml2 output buffer from a Python file '''
  1654.     ret = libxml2mod.xmlCreateOutputBuffer(file, encoding)
  1655.     if ret is None:
  1656.         raise treeError('xmlCreateOutputBuffer() failed')
  1657.     ret is None
  1658.     return outputBuffer(_obj = ret)
  1659.  
  1660.  
  1661. def createPushParser(SAX, chunk, size, URI):
  1662.     '''Create a progressive XML parser context to build either an
  1663.       event flow if the SAX object is not None, or a DOM tree
  1664.        otherwise. '''
  1665.     ret = libxml2mod.xmlCreatePushParser(SAX, chunk, size, URI)
  1666.     if ret is None:
  1667.         raise parserError('xmlCreatePushParser() failed')
  1668.     ret is None
  1669.     return parserCtxt(_obj = ret)
  1670.  
  1671.  
  1672. def debugMemory(activate):
  1673.     '''Switch on the generation of line number for elements nodes.
  1674.       Also returns the number of bytes allocated and not freed by
  1675.        libxml2 since memory debugging was switched on. '''
  1676.     ret = libxml2mod.xmlDebugMemory(activate)
  1677.     return ret
  1678.  
  1679.  
  1680. def dumpMemory():
  1681.     '''dump the memory allocated in the file .memdump '''
  1682.     libxml2mod.xmlDumpMemory()
  1683.  
  1684.  
  1685. def htmlCreatePushParser(SAX, chunk, size, URI):
  1686.     '''Create a progressive HTML parser context to build either an
  1687.       event flow if the SAX object is not None, or a DOM tree
  1688.        otherwise. '''
  1689.     ret = libxml2mod.htmlCreatePushParser(SAX, chunk, size, URI)
  1690.     if ret is None:
  1691.         raise parserError('htmlCreatePushParser() failed')
  1692.     ret is None
  1693.     return parserCtxt(_obj = ret)
  1694.  
  1695.  
  1696. def htmlSAXParseFile(SAX, URI, encoding):
  1697.     '''Interface to parse an HTML file or resource pointed by an
  1698.        URI to build an event flow to the SAX object '''
  1699.     libxml2mod.htmlSAXParseFile(SAX, URI, encoding)
  1700.  
  1701.  
  1702. def memoryUsed():
  1703.     '''Returns the total amount of memory allocated by libxml2 '''
  1704.     ret = libxml2mod.xmlMemoryUsed()
  1705.     return ret
  1706.  
  1707.  
  1708. def newNode(name):
  1709.     '''Create a new Node '''
  1710.     ret = libxml2mod.xmlNewNode(name)
  1711.     if ret is None:
  1712.         raise treeError('xmlNewNode() failed')
  1713.     ret is None
  1714.     return xmlNode(_obj = ret)
  1715.  
  1716.  
  1717. def pythonCleanupParser():
  1718.     """Cleanup function for the XML library. It tries to reclaim
  1719.       all parsing related global memory allocated for the library
  1720.       processing. It doesn't deallocate any document related
  1721.       memory. Calling this function should not prevent reusing
  1722.       the library but one should call xmlCleanupParser() only
  1723.       when the process has finished using the library or XML
  1724.        document built with it. """
  1725.     libxml2mod.xmlPythonCleanupParser()
  1726.  
  1727.  
  1728. def setEntityLoader(resolver):
  1729.     '''Set the entity resolver as a python function '''
  1730.     ret = libxml2mod.xmlSetEntityLoader(resolver)
  1731.     return ret
  1732.  
  1733.  
  1734. def relaxNGCleanupTypes():
  1735.     '''Cleanup the default Schemas type library associated to
  1736.        RelaxNG '''
  1737.     libxml2mod.xmlRelaxNGCleanupTypes()
  1738.  
  1739.  
  1740. def relaxNGInitTypes():
  1741.     '''Initilize the default type libraries. '''
  1742.     ret = libxml2mod.xmlRelaxNGInitTypes()
  1743.     return ret
  1744.  
  1745.  
  1746. def relaxNGNewMemParserCtxt(buffer, size):
  1747.     '''Create an XML RelaxNGs parse context for that memory buffer
  1748.        expected to contain an XML RelaxNGs file. '''
  1749.     ret = libxml2mod.xmlRelaxNGNewMemParserCtxt(buffer, size)
  1750.     if ret is None:
  1751.         raise parserError('xmlRelaxNGNewMemParserCtxt() failed')
  1752.     ret is None
  1753.     return relaxNgParserCtxt(_obj = ret)
  1754.  
  1755.  
  1756. def relaxNGNewParserCtxt(URL):
  1757.     '''Create an XML RelaxNGs parse context for that file/resource
  1758.        expected to contain an XML RelaxNGs file. '''
  1759.     ret = libxml2mod.xmlRelaxNGNewParserCtxt(URL)
  1760.     if ret is None:
  1761.         raise parserError('xmlRelaxNGNewParserCtxt() failed')
  1762.     ret is None
  1763.     return relaxNgParserCtxt(_obj = ret)
  1764.  
  1765.  
  1766. def buildQName(ncname, prefix, memory, len):
  1767.     '''Builds the QName @prefix:@ncname in @memory if there is
  1768.       enough space and prefix is not None nor empty, otherwise
  1769.       allocate a new string. If prefix is None or empty it
  1770.        returns ncname. '''
  1771.     ret = libxml2mod.xmlBuildQName(ncname, prefix, memory, len)
  1772.     return ret
  1773.  
  1774.  
  1775. def compressMode():
  1776.     '''get the default compression mode used, ZLIB based. '''
  1777.     ret = libxml2mod.xmlGetCompressMode()
  1778.     return ret
  1779.  
  1780.  
  1781. def isXHTML(systemID, publicID):
  1782.     '''Try to find if the document correspond to an XHTML DTD '''
  1783.     ret = libxml2mod.xmlIsXHTML(systemID, publicID)
  1784.     return ret
  1785.  
  1786.  
  1787. def newComment(content):
  1788.     '''Creation of a new node containing a comment. '''
  1789.     ret = libxml2mod.xmlNewComment(content)
  1790.     if ret is None:
  1791.         raise treeError('xmlNewComment() failed')
  1792.     ret is None
  1793.     return xmlNode(_obj = ret)
  1794.  
  1795.  
  1796. def newDoc(version):
  1797.     '''Creates a new XML document '''
  1798.     ret = libxml2mod.xmlNewDoc(version)
  1799.     if ret is None:
  1800.         raise treeError('xmlNewDoc() failed')
  1801.     ret is None
  1802.     return xmlDoc(_obj = ret)
  1803.  
  1804.  
  1805. def newPI(name, content):
  1806.     '''Creation of a processing instruction element. Use
  1807.        xmlDocNewPI preferably to get string interning '''
  1808.     ret = libxml2mod.xmlNewPI(name, content)
  1809.     if ret is None:
  1810.         raise treeError('xmlNewPI() failed')
  1811.     ret is None
  1812.     return xmlNode(_obj = ret)
  1813.  
  1814.  
  1815. def newText(content):
  1816.     '''Creation of a new text node. '''
  1817.     ret = libxml2mod.xmlNewText(content)
  1818.     if ret is None:
  1819.         raise treeError('xmlNewText() failed')
  1820.     ret is None
  1821.     return xmlNode(_obj = ret)
  1822.  
  1823.  
  1824. def newTextLen(content, len):
  1825.     """Creation of a new text node with an extra parameter for the
  1826.        content's length """
  1827.     ret = libxml2mod.xmlNewTextLen(content, len)
  1828.     if ret is None:
  1829.         raise treeError('xmlNewTextLen() failed')
  1830.     ret is None
  1831.     return xmlNode(_obj = ret)
  1832.  
  1833.  
  1834. def setCompressMode(mode):
  1835.     '''set the default compression mode used, ZLIB based Correct
  1836.        values: 0 (uncompressed) to 9 (max compression) '''
  1837.     libxml2mod.xmlSetCompressMode(mode)
  1838.  
  1839.  
  1840. def validateNCName(value, space):
  1841.     '''Check that a value conforms to the lexical space of NCName '''
  1842.     ret = libxml2mod.xmlValidateNCName(value, space)
  1843.     return ret
  1844.  
  1845.  
  1846. def validateNMToken(value, space):
  1847.     '''Check that a value conforms to the lexical space of NMToken '''
  1848.     ret = libxml2mod.xmlValidateNMToken(value, space)
  1849.     return ret
  1850.  
  1851.  
  1852. def validateName(value, space):
  1853.     '''Check that a value conforms to the lexical space of Name '''
  1854.     ret = libxml2mod.xmlValidateName(value, space)
  1855.     return ret
  1856.  
  1857.  
  1858. def validateQName(value, space):
  1859.     '''Check that a value conforms to the lexical space of QName '''
  1860.     ret = libxml2mod.xmlValidateQName(value, space)
  1861.     return ret
  1862.  
  1863.  
  1864. def URIEscape(str):
  1865.     """Escaping routine, does not do validity checks ! It will try
  1866.       to escape the chars needing this, but this is heuristic
  1867.        based it's impossible to be sure. """
  1868.     ret = libxml2mod.xmlURIEscape(str)
  1869.     return ret
  1870.  
  1871.  
  1872. def URIEscapeStr(str, list):
  1873.     '''This routine escapes a string to hex, ignoring reserved
  1874.        characters (a-z) and the characters in the exception list. '''
  1875.     ret = libxml2mod.xmlURIEscapeStr(str, list)
  1876.     return ret
  1877.  
  1878.  
  1879. def URIUnescapeString(str, len, target):
  1880.     '''Unescaping routine, but does not check that the string is
  1881.       an URI. The output is a direct unsigned char translation of
  1882.       %XX values (no encoding) Note that the length of the result
  1883.        can only be smaller or same size as the input string. '''
  1884.     ret = libxml2mod.xmlURIUnescapeString(str, len, target)
  1885.     return ret
  1886.  
  1887.  
  1888. def buildRelativeURI(URI, base):
  1889.     '''Expresses the URI of the reference in terms relative to the
  1890.       base.  Some examples of this operation include: base =
  1891.       "http://site1.com/docs/book1.html" URI input               
  1892.       URI returned docs/pic1.gif                    pic1.gif
  1893.       docs/img/pic1.gif                img/pic1.gif img/pic1.gif 
  1894.       ../img/pic1.gif http://site1.com/docs/pic1.gif   pic1.gif
  1895.       http://site2.com/docs/pic1.gif  
  1896.       http://site2.com/docs/pic1.gif  base = "docs/book1.html"
  1897.       URI input                        URI returned docs/pic1.gif
  1898.       pic1.gif docs/img/pic1.gif                img/pic1.gif
  1899.       img/pic1.gif                     ../img/pic1.gif
  1900.       http://site1.com/docs/pic1.gif  
  1901.       http://site1.com/docs/pic1.gif   Note: if the URI reference
  1902.       is really wierd or complicated, it may be worthwhile to
  1903.       first convert it into a "nice" one by calling xmlBuildURI
  1904.       (using \'base\') before calling this routine, since this
  1905.       routine (for reasonable efficiency) assumes URI has already
  1906.        been through some validation. '''
  1907.     ret = libxml2mod.xmlBuildRelativeURI(URI, base)
  1908.     return ret
  1909.  
  1910.  
  1911. def buildURI(URI, base):
  1912.     '''Computes he final URI of the reference done by checking
  1913.       that the given URI is valid, and building the final URI
  1914.       using the base URI. This is processed according to section
  1915.       5.2 of the RFC 2396  5.2. Resolving Relative References to
  1916.        Absolute Form '''
  1917.     ret = libxml2mod.xmlBuildURI(URI, base)
  1918.     return ret
  1919.  
  1920.  
  1921. def canonicPath(path):
  1922.     '''Constructs a canonic path from the specified path. '''
  1923.     ret = libxml2mod.xmlCanonicPath(path)
  1924.     return ret
  1925.  
  1926.  
  1927. def createURI():
  1928.     '''Simply creates an empty xmlURI '''
  1929.     ret = libxml2mod.xmlCreateURI()
  1930.     if ret is None:
  1931.         raise uriError('xmlCreateURI() failed')
  1932.     ret is None
  1933.     return URI(_obj = ret)
  1934.  
  1935.  
  1936. def normalizeURIPath(path):
  1937.     '''Applies the 5 normalization steps to a path string--that
  1938.       is, RFC 2396 Section 5.2, steps 6.c through 6.g. 
  1939.       Normalization occurs directly on the string, no new
  1940.        allocation is done '''
  1941.     ret = libxml2mod.xmlNormalizeURIPath(path)
  1942.     return ret
  1943.  
  1944.  
  1945. def parseURI(str):
  1946.     '''Parse an URI based on RFC 3986  URI-reference = [
  1947.        absoluteURI | relativeURI ] [ "#" fragment ] '''
  1948.     ret = libxml2mod.xmlParseURI(str)
  1949.     if ret is None:
  1950.         raise uriError('xmlParseURI() failed')
  1951.     ret is None
  1952.     return URI(_obj = ret)
  1953.  
  1954.  
  1955. def parseURIRaw(str, raw):
  1956.     '''Parse an URI but allows to keep intact the original
  1957.        fragments.  URI-reference = URI / relative-ref '''
  1958.     ret = libxml2mod.xmlParseURIRaw(str, raw)
  1959.     if ret is None:
  1960.         raise uriError('xmlParseURIRaw() failed')
  1961.     ret is None
  1962.     return URI(_obj = ret)
  1963.  
  1964.  
  1965. def pathToURI(path):
  1966.     '''Constructs an URI expressing the existing path '''
  1967.     ret = libxml2mod.xmlPathToURI(path)
  1968.     return ret
  1969.  
  1970.  
  1971. def newValidCtxt():
  1972.     '''Allocate a validation context structure. '''
  1973.     ret = libxml2mod.xmlNewValidCtxt()
  1974.     if ret is None:
  1975.         raise treeError('xmlNewValidCtxt() failed')
  1976.     ret is None
  1977.     return ValidCtxt(_obj = ret)
  1978.  
  1979.  
  1980. def validateNameValue(value):
  1981.     '''Validate that the given value match Name production '''
  1982.     ret = libxml2mod.xmlValidateNameValue(value)
  1983.     return ret
  1984.  
  1985.  
  1986. def validateNamesValue(value):
  1987.     '''Validate that the given value match Names production '''
  1988.     ret = libxml2mod.xmlValidateNamesValue(value)
  1989.     return ret
  1990.  
  1991.  
  1992. def validateNmtokenValue(value):
  1993.     '''Validate that the given value match Nmtoken production  [
  1994.        VC: Name Token ] '''
  1995.     ret = libxml2mod.xmlValidateNmtokenValue(value)
  1996.     return ret
  1997.  
  1998.  
  1999. def validateNmtokensValue(value):
  2000.     '''Validate that the given value match Nmtokens production  [
  2001.        VC: Name Token ] '''
  2002.     ret = libxml2mod.xmlValidateNmtokensValue(value)
  2003.     return ret
  2004.  
  2005.  
  2006. def checkFilename(path):
  2007.     '''function checks to see if @path is a valid source (file,
  2008.       socket...) for XML.  if stat is not available on the target
  2009.        machine, '''
  2010.     ret = libxml2mod.xmlCheckFilename(path)
  2011.     return ret
  2012.  
  2013.  
  2014. def cleanupInputCallbacks():
  2015.     '''clears the entire input callback table. this includes the
  2016.        compiled-in I/O. '''
  2017.     libxml2mod.xmlCleanupInputCallbacks()
  2018.  
  2019.  
  2020. def cleanupOutputCallbacks():
  2021.     '''clears the entire output callback table. this includes the
  2022.        compiled-in I/O callbacks. '''
  2023.     libxml2mod.xmlCleanupOutputCallbacks()
  2024.  
  2025.  
  2026. def fileMatch(filename):
  2027.     '''input from FILE * '''
  2028.     ret = libxml2mod.xmlFileMatch(filename)
  2029.     return ret
  2030.  
  2031.  
  2032. def iOFTPMatch(filename):
  2033.     '''check if the URI matches an FTP one '''
  2034.     ret = libxml2mod.xmlIOFTPMatch(filename)
  2035.     return ret
  2036.  
  2037.  
  2038. def iOHTTPMatch(filename):
  2039.     '''check if the URI matches an HTTP one '''
  2040.     ret = libxml2mod.xmlIOHTTPMatch(filename)
  2041.     return ret
  2042.  
  2043.  
  2044. def normalizeWindowsPath(path):
  2045.     '''This function is obsolete. Please see xmlURIFromPath in
  2046.        uri.c for a better solution. '''
  2047.     ret = libxml2mod.xmlNormalizeWindowsPath(path)
  2048.     return ret
  2049.  
  2050.  
  2051. def parserGetDirectory(filename):
  2052.     '''lookup the directory for that file '''
  2053.     ret = libxml2mod.xmlParserGetDirectory(filename)
  2054.     return ret
  2055.  
  2056.  
  2057. def popInputCallbacks():
  2058.     '''Clear the top input callback from the input stack. this
  2059.        includes the compiled-in I/O. '''
  2060.     ret = libxml2mod.xmlPopInputCallbacks()
  2061.     return ret
  2062.  
  2063.  
  2064. def registerDefaultInputCallbacks():
  2065.     '''Registers the default compiled-in I/O handlers. '''
  2066.     libxml2mod.xmlRegisterDefaultInputCallbacks()
  2067.  
  2068.  
  2069. def registerDefaultOutputCallbacks():
  2070.     '''Registers the default compiled-in I/O handlers. '''
  2071.     libxml2mod.xmlRegisterDefaultOutputCallbacks()
  2072.  
  2073.  
  2074. def registerHTTPPostCallbacks():
  2075.     '''By default, libxml submits HTTP output requests using the
  2076.       "PUT" method. Calling this method changes the HTTP output
  2077.        method to use the "POST" method instead. '''
  2078.     libxml2mod.xmlRegisterHTTPPostCallbacks()
  2079.  
  2080.  
  2081. def lastError():
  2082.     '''Get the last global error registered. This is per thread if
  2083.        compiled with thread support. '''
  2084.     ret = libxml2mod.xmlGetLastError()
  2085.     if ret is None:
  2086.         raise treeError('xmlGetLastError() failed')
  2087.     ret is None
  2088.     return Error(_obj = ret)
  2089.  
  2090.  
  2091. def resetLastError():
  2092.     '''Cleanup the last global error registered. For parsing error
  2093.        this does not change the well-formedness result. '''
  2094.     libxml2mod.xmlResetLastError()
  2095.  
  2096.  
  2097. def newTextReaderFilename(URI):
  2098.     '''Create an xmlTextReader structure fed with the resource at
  2099.        @URI '''
  2100.     ret = libxml2mod.xmlNewTextReaderFilename(URI)
  2101.     if ret is None:
  2102.         raise treeError('xmlNewTextReaderFilename() failed')
  2103.     ret is None
  2104.     return xmlTextReader(_obj = ret)
  2105.  
  2106.  
  2107. def readerForDoc(cur, URL, encoding, options):
  2108.     '''Create an xmltextReader for an XML in-memory document. The
  2109.       parsing flags @options are a combination of xmlParserOption. '''
  2110.     ret = libxml2mod.xmlReaderForDoc(cur, URL, encoding, options)
  2111.     if ret is None:
  2112.         raise treeError('xmlReaderForDoc() failed')
  2113.     ret is None
  2114.     return xmlTextReader(_obj = ret)
  2115.  
  2116.  
  2117. def readerForFd(fd, URL, encoding, options):
  2118.     '''Create an xmltextReader for an XML from a file descriptor.
  2119.       The parsing flags @options are a combination of
  2120.       xmlParserOption. NOTE that the file descriptor will not be
  2121.        closed when the reader is closed or reset. '''
  2122.     ret = libxml2mod.xmlReaderForFd(fd, URL, encoding, options)
  2123.     if ret is None:
  2124.         raise treeError('xmlReaderForFd() failed')
  2125.     ret is None
  2126.     return xmlTextReader(_obj = ret)
  2127.  
  2128.  
  2129. def readerForFile(filename, encoding, options):
  2130.     '''parse an XML file from the filesystem or the network. The
  2131.       parsing flags @options are a combination of xmlParserOption. '''
  2132.     ret = libxml2mod.xmlReaderForFile(filename, encoding, options)
  2133.     if ret is None:
  2134.         raise treeError('xmlReaderForFile() failed')
  2135.     ret is None
  2136.     return xmlTextReader(_obj = ret)
  2137.  
  2138.  
  2139. def readerForMemory(buffer, size, URL, encoding, options):
  2140.     '''Create an xmltextReader for an XML in-memory document. The
  2141.       parsing flags @options are a combination of xmlParserOption. '''
  2142.     ret = libxml2mod.xmlReaderForMemory(buffer, size, URL, encoding, options)
  2143.     if ret is None:
  2144.         raise treeError('xmlReaderForMemory() failed')
  2145.     ret is None
  2146.     return xmlTextReader(_obj = ret)
  2147.  
  2148.  
  2149. def regexpCompile(regexp):
  2150.     '''Parses a regular expression conforming to XML Schemas Part
  2151.       2 Datatype Appendix F and builds an automata suitable for
  2152.        testing strings against that regular expression '''
  2153.     ret = libxml2mod.xmlRegexpCompile(regexp)
  2154.     if ret is None:
  2155.         raise treeError('xmlRegexpCompile() failed')
  2156.     ret is None
  2157.     return xmlReg(_obj = ret)
  2158.  
  2159.  
  2160. def schemaNewMemParserCtxt(buffer, size):
  2161.     '''Create an XML Schemas parse context for that memory buffer
  2162.        expected to contain an XML Schemas file. '''
  2163.     ret = libxml2mod.xmlSchemaNewMemParserCtxt(buffer, size)
  2164.     if ret is None:
  2165.         raise parserError('xmlSchemaNewMemParserCtxt() failed')
  2166.     ret is None
  2167.     return SchemaParserCtxt(_obj = ret)
  2168.  
  2169.  
  2170. def schemaNewParserCtxt(URL):
  2171.     '''Create an XML Schemas parse context for that file/resource
  2172.        expected to contain an XML Schemas file. '''
  2173.     ret = libxml2mod.xmlSchemaNewParserCtxt(URL)
  2174.     if ret is None:
  2175.         raise parserError('xmlSchemaNewParserCtxt() failed')
  2176.     ret is None
  2177.     return SchemaParserCtxt(_obj = ret)
  2178.  
  2179.  
  2180. def schemaCleanupTypes():
  2181.     '''Cleanup the default XML Schemas type library '''
  2182.     libxml2mod.xmlSchemaCleanupTypes()
  2183.  
  2184.  
  2185. def schemaCollapseString(value):
  2186.     '''Removes and normalize white spaces in the string '''
  2187.     ret = libxml2mod.xmlSchemaCollapseString(value)
  2188.     return ret
  2189.  
  2190.  
  2191. def schemaInitTypes():
  2192.     '''Initialize the default XML Schemas type library '''
  2193.     libxml2mod.xmlSchemaInitTypes()
  2194.  
  2195.  
  2196. def schemaWhiteSpaceReplace(value):
  2197.     '''Replaces 0xd, 0x9 and 0xa with a space. '''
  2198.     ret = libxml2mod.xmlSchemaWhiteSpaceReplace(value)
  2199.     return ret
  2200.  
  2201.  
  2202. def UTF8Charcmp(utf1, utf2):
  2203.     '''compares the two UCS4 values '''
  2204.     ret = libxml2mod.xmlUTF8Charcmp(utf1, utf2)
  2205.     return ret
  2206.  
  2207.  
  2208. def UTF8Size(utf):
  2209.     '''calculates the internal size of a UTF8 character '''
  2210.     ret = libxml2mod.xmlUTF8Size(utf)
  2211.     return ret
  2212.  
  2213.  
  2214. def UTF8Strlen(utf):
  2215.     """compute the length of an UTF8 string, it doesn't do a full
  2216.        UTF8 checking of the content of the string. """
  2217.     ret = libxml2mod.xmlUTF8Strlen(utf)
  2218.     return ret
  2219.  
  2220.  
  2221. def UTF8Strloc(utf, utfchar):
  2222.     '''a function to provide the relative location of a UTF8 char '''
  2223.     ret = libxml2mod.xmlUTF8Strloc(utf, utfchar)
  2224.     return ret
  2225.  
  2226.  
  2227. def UTF8Strndup(utf, len):
  2228.     """a strndup for array of UTF8's """
  2229.     ret = libxml2mod.xmlUTF8Strndup(utf, len)
  2230.     return ret
  2231.  
  2232.  
  2233. def UTF8Strpos(utf, pos):
  2234.     '''a function to provide the equivalent of fetching a
  2235.        character from a string array '''
  2236.     ret = libxml2mod.xmlUTF8Strpos(utf, pos)
  2237.     return ret
  2238.  
  2239.  
  2240. def UTF8Strsize(utf, len):
  2241.     '''storage size of an UTF8 string the behaviour is not
  2242.        garanteed if the input string is not UTF-8 '''
  2243.     ret = libxml2mod.xmlUTF8Strsize(utf, len)
  2244.     return ret
  2245.  
  2246.  
  2247. def UTF8Strsub(utf, start, len):
  2248.     '''Create a substring from a given UTF-8 string Note: 
  2249.        positions are given in units of UTF-8 chars '''
  2250.     ret = libxml2mod.xmlUTF8Strsub(utf, start, len)
  2251.     return ret
  2252.  
  2253.  
  2254. def checkUTF8(utf):
  2255.     '''Checks @utf for being valid UTF-8. @utf is assumed to be
  2256.       null-terminated. This function is not super-strict, as it
  2257.       will allow longer UTF-8 sequences than necessary. Note that
  2258.       Java is capable of producing these sequences if provoked.
  2259.       Also note, this routine checks for the 4-byte maximum size,
  2260.        but does not check for 0x10ffff maximum value. '''
  2261.     ret = libxml2mod.xmlCheckUTF8(utf)
  2262.     return ret
  2263.  
  2264.  
  2265. def uCSIsAegeanNumbers(code):
  2266.     '''Check whether the character is part of AegeanNumbers UCS
  2267.        Block '''
  2268.     ret = libxml2mod.xmlUCSIsAegeanNumbers(code)
  2269.     return ret
  2270.  
  2271.  
  2272. def uCSIsAlphabeticPresentationForms(code):
  2273.     '''Check whether the character is part of
  2274.        AlphabeticPresentationForms UCS Block '''
  2275.     ret = libxml2mod.xmlUCSIsAlphabeticPresentationForms(code)
  2276.     return ret
  2277.  
  2278.  
  2279. def uCSIsArabic(code):
  2280.     '''Check whether the character is part of Arabic UCS Block '''
  2281.     ret = libxml2mod.xmlUCSIsArabic(code)
  2282.     return ret
  2283.  
  2284.  
  2285. def uCSIsArabicPresentationFormsA(code):
  2286.     '''Check whether the character is part of
  2287.        ArabicPresentationForms-A UCS Block '''
  2288.     ret = libxml2mod.xmlUCSIsArabicPresentationFormsA(code)
  2289.     return ret
  2290.  
  2291.  
  2292. def uCSIsArabicPresentationFormsB(code):
  2293.     '''Check whether the character is part of
  2294.        ArabicPresentationForms-B UCS Block '''
  2295.     ret = libxml2mod.xmlUCSIsArabicPresentationFormsB(code)
  2296.     return ret
  2297.  
  2298.  
  2299. def uCSIsArmenian(code):
  2300.     '''Check whether the character is part of Armenian UCS Block '''
  2301.     ret = libxml2mod.xmlUCSIsArmenian(code)
  2302.     return ret
  2303.  
  2304.  
  2305. def uCSIsArrows(code):
  2306.     '''Check whether the character is part of Arrows UCS Block '''
  2307.     ret = libxml2mod.xmlUCSIsArrows(code)
  2308.     return ret
  2309.  
  2310.  
  2311. def uCSIsBasicLatin(code):
  2312.     '''Check whether the character is part of BasicLatin UCS Block '''
  2313.     ret = libxml2mod.xmlUCSIsBasicLatin(code)
  2314.     return ret
  2315.  
  2316.  
  2317. def uCSIsBengali(code):
  2318.     '''Check whether the character is part of Bengali UCS Block '''
  2319.     ret = libxml2mod.xmlUCSIsBengali(code)
  2320.     return ret
  2321.  
  2322.  
  2323. def uCSIsBlock(code, block):
  2324.     '''Check whether the character is part of the UCS Block '''
  2325.     ret = libxml2mod.xmlUCSIsBlock(code, block)
  2326.     return ret
  2327.  
  2328.  
  2329. def uCSIsBlockElements(code):
  2330.     '''Check whether the character is part of BlockElements UCS
  2331.        Block '''
  2332.     ret = libxml2mod.xmlUCSIsBlockElements(code)
  2333.     return ret
  2334.  
  2335.  
  2336. def uCSIsBopomofo(code):
  2337.     '''Check whether the character is part of Bopomofo UCS Block '''
  2338.     ret = libxml2mod.xmlUCSIsBopomofo(code)
  2339.     return ret
  2340.  
  2341.  
  2342. def uCSIsBopomofoExtended(code):
  2343.     '''Check whether the character is part of BopomofoExtended UCS
  2344.        Block '''
  2345.     ret = libxml2mod.xmlUCSIsBopomofoExtended(code)
  2346.     return ret
  2347.  
  2348.  
  2349. def uCSIsBoxDrawing(code):
  2350.     '''Check whether the character is part of BoxDrawing UCS Block '''
  2351.     ret = libxml2mod.xmlUCSIsBoxDrawing(code)
  2352.     return ret
  2353.  
  2354.  
  2355. def uCSIsBraillePatterns(code):
  2356.     '''Check whether the character is part of BraillePatterns UCS
  2357.        Block '''
  2358.     ret = libxml2mod.xmlUCSIsBraillePatterns(code)
  2359.     return ret
  2360.  
  2361.  
  2362. def uCSIsBuhid(code):
  2363.     '''Check whether the character is part of Buhid UCS Block '''
  2364.     ret = libxml2mod.xmlUCSIsBuhid(code)
  2365.     return ret
  2366.  
  2367.  
  2368. def uCSIsByzantineMusicalSymbols(code):
  2369.     '''Check whether the character is part of
  2370.        ByzantineMusicalSymbols UCS Block '''
  2371.     ret = libxml2mod.xmlUCSIsByzantineMusicalSymbols(code)
  2372.     return ret
  2373.  
  2374.  
  2375. def uCSIsCJKCompatibility(code):
  2376.     '''Check whether the character is part of CJKCompatibility UCS
  2377.        Block '''
  2378.     ret = libxml2mod.xmlUCSIsCJKCompatibility(code)
  2379.     return ret
  2380.  
  2381.  
  2382. def uCSIsCJKCompatibilityForms(code):
  2383.     '''Check whether the character is part of
  2384.        CJKCompatibilityForms UCS Block '''
  2385.     ret = libxml2mod.xmlUCSIsCJKCompatibilityForms(code)
  2386.     return ret
  2387.  
  2388.  
  2389. def uCSIsCJKCompatibilityIdeographs(code):
  2390.     '''Check whether the character is part of
  2391.        CJKCompatibilityIdeographs UCS Block '''
  2392.     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographs(code)
  2393.     return ret
  2394.  
  2395.  
  2396. def uCSIsCJKCompatibilityIdeographsSupplement(code):
  2397.     '''Check whether the character is part of
  2398.        CJKCompatibilityIdeographsSupplement UCS Block '''
  2399.     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographsSupplement(code)
  2400.     return ret
  2401.  
  2402.  
  2403. def uCSIsCJKRadicalsSupplement(code):
  2404.     '''Check whether the character is part of
  2405.        CJKRadicalsSupplement UCS Block '''
  2406.     ret = libxml2mod.xmlUCSIsCJKRadicalsSupplement(code)
  2407.     return ret
  2408.  
  2409.  
  2410. def uCSIsCJKSymbolsandPunctuation(code):
  2411.     '''Check whether the character is part of
  2412.        CJKSymbolsandPunctuation UCS Block '''
  2413.     ret = libxml2mod.xmlUCSIsCJKSymbolsandPunctuation(code)
  2414.     return ret
  2415.  
  2416.  
  2417. def uCSIsCJKUnifiedIdeographs(code):
  2418.     '''Check whether the character is part of CJKUnifiedIdeographs
  2419.        UCS Block '''
  2420.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographs(code)
  2421.     return ret
  2422.  
  2423.  
  2424. def uCSIsCJKUnifiedIdeographsExtensionA(code):
  2425.     '''Check whether the character is part of
  2426.        CJKUnifiedIdeographsExtensionA UCS Block '''
  2427.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionA(code)
  2428.     return ret
  2429.  
  2430.  
  2431. def uCSIsCJKUnifiedIdeographsExtensionB(code):
  2432.     '''Check whether the character is part of
  2433.        CJKUnifiedIdeographsExtensionB UCS Block '''
  2434.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionB(code)
  2435.     return ret
  2436.  
  2437.  
  2438. def uCSIsCat(code, cat):
  2439.     '''Check whether the character is part of the UCS Category '''
  2440.     ret = libxml2mod.xmlUCSIsCat(code, cat)
  2441.     return ret
  2442.  
  2443.  
  2444. def uCSIsCatC(code):
  2445.     '''Check whether the character is part of C UCS Category '''
  2446.     ret = libxml2mod.xmlUCSIsCatC(code)
  2447.     return ret
  2448.  
  2449.  
  2450. def uCSIsCatCc(code):
  2451.     '''Check whether the character is part of Cc UCS Category '''
  2452.     ret = libxml2mod.xmlUCSIsCatCc(code)
  2453.     return ret
  2454.  
  2455.  
  2456. def uCSIsCatCf(code):
  2457.     '''Check whether the character is part of Cf UCS Category '''
  2458.     ret = libxml2mod.xmlUCSIsCatCf(code)
  2459.     return ret
  2460.  
  2461.  
  2462. def uCSIsCatCo(code):
  2463.     '''Check whether the character is part of Co UCS Category '''
  2464.     ret = libxml2mod.xmlUCSIsCatCo(code)
  2465.     return ret
  2466.  
  2467.  
  2468. def uCSIsCatCs(code):
  2469.     '''Check whether the character is part of Cs UCS Category '''
  2470.     ret = libxml2mod.xmlUCSIsCatCs(code)
  2471.     return ret
  2472.  
  2473.  
  2474. def uCSIsCatL(code):
  2475.     '''Check whether the character is part of L UCS Category '''
  2476.     ret = libxml2mod.xmlUCSIsCatL(code)
  2477.     return ret
  2478.  
  2479.  
  2480. def uCSIsCatLl(code):
  2481.     '''Check whether the character is part of Ll UCS Category '''
  2482.     ret = libxml2mod.xmlUCSIsCatLl(code)
  2483.     return ret
  2484.  
  2485.  
  2486. def uCSIsCatLm(code):
  2487.     '''Check whether the character is part of Lm UCS Category '''
  2488.     ret = libxml2mod.xmlUCSIsCatLm(code)
  2489.     return ret
  2490.  
  2491.  
  2492. def uCSIsCatLo(code):
  2493.     '''Check whether the character is part of Lo UCS Category '''
  2494.     ret = libxml2mod.xmlUCSIsCatLo(code)
  2495.     return ret
  2496.  
  2497.  
  2498. def uCSIsCatLt(code):
  2499.     '''Check whether the character is part of Lt UCS Category '''
  2500.     ret = libxml2mod.xmlUCSIsCatLt(code)
  2501.     return ret
  2502.  
  2503.  
  2504. def uCSIsCatLu(code):
  2505.     '''Check whether the character is part of Lu UCS Category '''
  2506.     ret = libxml2mod.xmlUCSIsCatLu(code)
  2507.     return ret
  2508.  
  2509.  
  2510. def uCSIsCatM(code):
  2511.     '''Check whether the character is part of M UCS Category '''
  2512.     ret = libxml2mod.xmlUCSIsCatM(code)
  2513.     return ret
  2514.  
  2515.  
  2516. def uCSIsCatMc(code):
  2517.     '''Check whether the character is part of Mc UCS Category '''
  2518.     ret = libxml2mod.xmlUCSIsCatMc(code)
  2519.     return ret
  2520.  
  2521.  
  2522. def uCSIsCatMe(code):
  2523.     '''Check whether the character is part of Me UCS Category '''
  2524.     ret = libxml2mod.xmlUCSIsCatMe(code)
  2525.     return ret
  2526.  
  2527.  
  2528. def uCSIsCatMn(code):
  2529.     '''Check whether the character is part of Mn UCS Category '''
  2530.     ret = libxml2mod.xmlUCSIsCatMn(code)
  2531.     return ret
  2532.  
  2533.  
  2534. def uCSIsCatN(code):
  2535.     '''Check whether the character is part of N UCS Category '''
  2536.     ret = libxml2mod.xmlUCSIsCatN(code)
  2537.     return ret
  2538.  
  2539.  
  2540. def uCSIsCatNd(code):
  2541.     '''Check whether the character is part of Nd UCS Category '''
  2542.     ret = libxml2mod.xmlUCSIsCatNd(code)
  2543.     return ret
  2544.  
  2545.  
  2546. def uCSIsCatNl(code):
  2547.     '''Check whether the character is part of Nl UCS Category '''
  2548.     ret = libxml2mod.xmlUCSIsCatNl(code)
  2549.     return ret
  2550.  
  2551.  
  2552. def uCSIsCatNo(code):
  2553.     '''Check whether the character is part of No UCS Category '''
  2554.     ret = libxml2mod.xmlUCSIsCatNo(code)
  2555.     return ret
  2556.  
  2557.  
  2558. def uCSIsCatP(code):
  2559.     '''Check whether the character is part of P UCS Category '''
  2560.     ret = libxml2mod.xmlUCSIsCatP(code)
  2561.     return ret
  2562.  
  2563.  
  2564. def uCSIsCatPc(code):
  2565.     '''Check whether the character is part of Pc UCS Category '''
  2566.     ret = libxml2mod.xmlUCSIsCatPc(code)
  2567.     return ret
  2568.  
  2569.  
  2570. def uCSIsCatPd(code):
  2571.     '''Check whether the character is part of Pd UCS Category '''
  2572.     ret = libxml2mod.xmlUCSIsCatPd(code)
  2573.     return ret
  2574.  
  2575.  
  2576. def uCSIsCatPe(code):
  2577.     '''Check whether the character is part of Pe UCS Category '''
  2578.     ret = libxml2mod.xmlUCSIsCatPe(code)
  2579.     return ret
  2580.  
  2581.  
  2582. def uCSIsCatPf(code):
  2583.     '''Check whether the character is part of Pf UCS Category '''
  2584.     ret = libxml2mod.xmlUCSIsCatPf(code)
  2585.     return ret
  2586.  
  2587.  
  2588. def uCSIsCatPi(code):
  2589.     '''Check whether the character is part of Pi UCS Category '''
  2590.     ret = libxml2mod.xmlUCSIsCatPi(code)
  2591.     return ret
  2592.  
  2593.  
  2594. def uCSIsCatPo(code):
  2595.     '''Check whether the character is part of Po UCS Category '''
  2596.     ret = libxml2mod.xmlUCSIsCatPo(code)
  2597.     return ret
  2598.  
  2599.  
  2600. def uCSIsCatPs(code):
  2601.     '''Check whether the character is part of Ps UCS Category '''
  2602.     ret = libxml2mod.xmlUCSIsCatPs(code)
  2603.     return ret
  2604.  
  2605.  
  2606. def uCSIsCatS(code):
  2607.     '''Check whether the character is part of S UCS Category '''
  2608.     ret = libxml2mod.xmlUCSIsCatS(code)
  2609.     return ret
  2610.  
  2611.  
  2612. def uCSIsCatSc(code):
  2613.     '''Check whether the character is part of Sc UCS Category '''
  2614.     ret = libxml2mod.xmlUCSIsCatSc(code)
  2615.     return ret
  2616.  
  2617.  
  2618. def uCSIsCatSk(code):
  2619.     '''Check whether the character is part of Sk UCS Category '''
  2620.     ret = libxml2mod.xmlUCSIsCatSk(code)
  2621.     return ret
  2622.  
  2623.  
  2624. def uCSIsCatSm(code):
  2625.     '''Check whether the character is part of Sm UCS Category '''
  2626.     ret = libxml2mod.xmlUCSIsCatSm(code)
  2627.     return ret
  2628.  
  2629.  
  2630. def uCSIsCatSo(code):
  2631.     '''Check whether the character is part of So UCS Category '''
  2632.     ret = libxml2mod.xmlUCSIsCatSo(code)
  2633.     return ret
  2634.  
  2635.  
  2636. def uCSIsCatZ(code):
  2637.     '''Check whether the character is part of Z UCS Category '''
  2638.     ret = libxml2mod.xmlUCSIsCatZ(code)
  2639.     return ret
  2640.  
  2641.  
  2642. def uCSIsCatZl(code):
  2643.     '''Check whether the character is part of Zl UCS Category '''
  2644.     ret = libxml2mod.xmlUCSIsCatZl(code)
  2645.     return ret
  2646.  
  2647.  
  2648. def uCSIsCatZp(code):
  2649.     '''Check whether the character is part of Zp UCS Category '''
  2650.     ret = libxml2mod.xmlUCSIsCatZp(code)
  2651.     return ret
  2652.  
  2653.  
  2654. def uCSIsCatZs(code):
  2655.     '''Check whether the character is part of Zs UCS Category '''
  2656.     ret = libxml2mod.xmlUCSIsCatZs(code)
  2657.     return ret
  2658.  
  2659.  
  2660. def uCSIsCherokee(code):
  2661.     '''Check whether the character is part of Cherokee UCS Block '''
  2662.     ret = libxml2mod.xmlUCSIsCherokee(code)
  2663.     return ret
  2664.  
  2665.  
  2666. def uCSIsCombiningDiacriticalMarks(code):
  2667.     '''Check whether the character is part of
  2668.        CombiningDiacriticalMarks UCS Block '''
  2669.     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarks(code)
  2670.     return ret
  2671.  
  2672.  
  2673. def uCSIsCombiningDiacriticalMarksforSymbols(code):
  2674.     '''Check whether the character is part of
  2675.        CombiningDiacriticalMarksforSymbols UCS Block '''
  2676.     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarksforSymbols(code)
  2677.     return ret
  2678.  
  2679.  
  2680. def uCSIsCombiningHalfMarks(code):
  2681.     '''Check whether the character is part of CombiningHalfMarks
  2682.        UCS Block '''
  2683.     ret = libxml2mod.xmlUCSIsCombiningHalfMarks(code)
  2684.     return ret
  2685.  
  2686.  
  2687. def uCSIsCombiningMarksforSymbols(code):
  2688.     '''Check whether the character is part of
  2689.        CombiningMarksforSymbols UCS Block '''
  2690.     ret = libxml2mod.xmlUCSIsCombiningMarksforSymbols(code)
  2691.     return ret
  2692.  
  2693.  
  2694. def uCSIsControlPictures(code):
  2695.     '''Check whether the character is part of ControlPictures UCS
  2696.        Block '''
  2697.     ret = libxml2mod.xmlUCSIsControlPictures(code)
  2698.     return ret
  2699.  
  2700.  
  2701. def uCSIsCurrencySymbols(code):
  2702.     '''Check whether the character is part of CurrencySymbols UCS
  2703.        Block '''
  2704.     ret = libxml2mod.xmlUCSIsCurrencySymbols(code)
  2705.     return ret
  2706.  
  2707.  
  2708. def uCSIsCypriotSyllabary(code):
  2709.     '''Check whether the character is part of CypriotSyllabary UCS
  2710.        Block '''
  2711.     ret = libxml2mod.xmlUCSIsCypriotSyllabary(code)
  2712.     return ret
  2713.  
  2714.  
  2715. def uCSIsCyrillic(code):
  2716.     '''Check whether the character is part of Cyrillic UCS Block '''
  2717.     ret = libxml2mod.xmlUCSIsCyrillic(code)
  2718.     return ret
  2719.  
  2720.  
  2721. def uCSIsCyrillicSupplement(code):
  2722.     '''Check whether the character is part of CyrillicSupplement
  2723.        UCS Block '''
  2724.     ret = libxml2mod.xmlUCSIsCyrillicSupplement(code)
  2725.     return ret
  2726.  
  2727.  
  2728. def uCSIsDeseret(code):
  2729.     '''Check whether the character is part of Deseret UCS Block '''
  2730.     ret = libxml2mod.xmlUCSIsDeseret(code)
  2731.     return ret
  2732.  
  2733.  
  2734. def uCSIsDevanagari(code):
  2735.     '''Check whether the character is part of Devanagari UCS Block '''
  2736.     ret = libxml2mod.xmlUCSIsDevanagari(code)
  2737.     return ret
  2738.  
  2739.  
  2740. def uCSIsDingbats(code):
  2741.     '''Check whether the character is part of Dingbats UCS Block '''
  2742.     ret = libxml2mod.xmlUCSIsDingbats(code)
  2743.     return ret
  2744.  
  2745.  
  2746. def uCSIsEnclosedAlphanumerics(code):
  2747.     '''Check whether the character is part of
  2748.        EnclosedAlphanumerics UCS Block '''
  2749.     ret = libxml2mod.xmlUCSIsEnclosedAlphanumerics(code)
  2750.     return ret
  2751.  
  2752.  
  2753. def uCSIsEnclosedCJKLettersandMonths(code):
  2754.     '''Check whether the character is part of
  2755.        EnclosedCJKLettersandMonths UCS Block '''
  2756.     ret = libxml2mod.xmlUCSIsEnclosedCJKLettersandMonths(code)
  2757.     return ret
  2758.  
  2759.  
  2760. def uCSIsEthiopic(code):
  2761.     '''Check whether the character is part of Ethiopic UCS Block '''
  2762.     ret = libxml2mod.xmlUCSIsEthiopic(code)
  2763.     return ret
  2764.  
  2765.  
  2766. def uCSIsGeneralPunctuation(code):
  2767.     '''Check whether the character is part of GeneralPunctuation
  2768.        UCS Block '''
  2769.     ret = libxml2mod.xmlUCSIsGeneralPunctuation(code)
  2770.     return ret
  2771.  
  2772.  
  2773. def uCSIsGeometricShapes(code):
  2774.     '''Check whether the character is part of GeometricShapes UCS
  2775.        Block '''
  2776.     ret = libxml2mod.xmlUCSIsGeometricShapes(code)
  2777.     return ret
  2778.  
  2779.  
  2780. def uCSIsGeorgian(code):
  2781.     '''Check whether the character is part of Georgian UCS Block '''
  2782.     ret = libxml2mod.xmlUCSIsGeorgian(code)
  2783.     return ret
  2784.  
  2785.  
  2786. def uCSIsGothic(code):
  2787.     '''Check whether the character is part of Gothic UCS Block '''
  2788.     ret = libxml2mod.xmlUCSIsGothic(code)
  2789.     return ret
  2790.  
  2791.  
  2792. def uCSIsGreek(code):
  2793.     '''Check whether the character is part of Greek UCS Block '''
  2794.     ret = libxml2mod.xmlUCSIsGreek(code)
  2795.     return ret
  2796.  
  2797.  
  2798. def uCSIsGreekExtended(code):
  2799.     '''Check whether the character is part of GreekExtended UCS
  2800.        Block '''
  2801.     ret = libxml2mod.xmlUCSIsGreekExtended(code)
  2802.     return ret
  2803.  
  2804.  
  2805. def uCSIsGreekandCoptic(code):
  2806.     '''Check whether the character is part of GreekandCoptic UCS
  2807.        Block '''
  2808.     ret = libxml2mod.xmlUCSIsGreekandCoptic(code)
  2809.     return ret
  2810.  
  2811.  
  2812. def uCSIsGujarati(code):
  2813.     '''Check whether the character is part of Gujarati UCS Block '''
  2814.     ret = libxml2mod.xmlUCSIsGujarati(code)
  2815.     return ret
  2816.  
  2817.  
  2818. def uCSIsGurmukhi(code):
  2819.     '''Check whether the character is part of Gurmukhi UCS Block '''
  2820.     ret = libxml2mod.xmlUCSIsGurmukhi(code)
  2821.     return ret
  2822.  
  2823.  
  2824. def uCSIsHalfwidthandFullwidthForms(code):
  2825.     '''Check whether the character is part of
  2826.        HalfwidthandFullwidthForms UCS Block '''
  2827.     ret = libxml2mod.xmlUCSIsHalfwidthandFullwidthForms(code)
  2828.     return ret
  2829.  
  2830.  
  2831. def uCSIsHangulCompatibilityJamo(code):
  2832.     '''Check whether the character is part of
  2833.        HangulCompatibilityJamo UCS Block '''
  2834.     ret = libxml2mod.xmlUCSIsHangulCompatibilityJamo(code)
  2835.     return ret
  2836.  
  2837.  
  2838. def uCSIsHangulJamo(code):
  2839.     '''Check whether the character is part of HangulJamo UCS Block '''
  2840.     ret = libxml2mod.xmlUCSIsHangulJamo(code)
  2841.     return ret
  2842.  
  2843.  
  2844. def uCSIsHangulSyllables(code):
  2845.     '''Check whether the character is part of HangulSyllables UCS
  2846.        Block '''
  2847.     ret = libxml2mod.xmlUCSIsHangulSyllables(code)
  2848.     return ret
  2849.  
  2850.  
  2851. def uCSIsHanunoo(code):
  2852.     '''Check whether the character is part of Hanunoo UCS Block '''
  2853.     ret = libxml2mod.xmlUCSIsHanunoo(code)
  2854.     return ret
  2855.  
  2856.  
  2857. def uCSIsHebrew(code):
  2858.     '''Check whether the character is part of Hebrew UCS Block '''
  2859.     ret = libxml2mod.xmlUCSIsHebrew(code)
  2860.     return ret
  2861.  
  2862.  
  2863. def uCSIsHighPrivateUseSurrogates(code):
  2864.     '''Check whether the character is part of
  2865.        HighPrivateUseSurrogates UCS Block '''
  2866.     ret = libxml2mod.xmlUCSIsHighPrivateUseSurrogates(code)
  2867.     return ret
  2868.  
  2869.  
  2870. def uCSIsHighSurrogates(code):
  2871.     '''Check whether the character is part of HighSurrogates UCS
  2872.        Block '''
  2873.     ret = libxml2mod.xmlUCSIsHighSurrogates(code)
  2874.     return ret
  2875.  
  2876.  
  2877. def uCSIsHiragana(code):
  2878.     '''Check whether the character is part of Hiragana UCS Block '''
  2879.     ret = libxml2mod.xmlUCSIsHiragana(code)
  2880.     return ret
  2881.  
  2882.  
  2883. def uCSIsIPAExtensions(code):
  2884.     '''Check whether the character is part of IPAExtensions UCS
  2885.        Block '''
  2886.     ret = libxml2mod.xmlUCSIsIPAExtensions(code)
  2887.     return ret
  2888.  
  2889.  
  2890. def uCSIsIdeographicDescriptionCharacters(code):
  2891.     '''Check whether the character is part of
  2892.        IdeographicDescriptionCharacters UCS Block '''
  2893.     ret = libxml2mod.xmlUCSIsIdeographicDescriptionCharacters(code)
  2894.     return ret
  2895.  
  2896.  
  2897. def uCSIsKanbun(code):
  2898.     '''Check whether the character is part of Kanbun UCS Block '''
  2899.     ret = libxml2mod.xmlUCSIsKanbun(code)
  2900.     return ret
  2901.  
  2902.  
  2903. def uCSIsKangxiRadicals(code):
  2904.     '''Check whether the character is part of KangxiRadicals UCS
  2905.        Block '''
  2906.     ret = libxml2mod.xmlUCSIsKangxiRadicals(code)
  2907.     return ret
  2908.  
  2909.  
  2910. def uCSIsKannada(code):
  2911.     '''Check whether the character is part of Kannada UCS Block '''
  2912.     ret = libxml2mod.xmlUCSIsKannada(code)
  2913.     return ret
  2914.  
  2915.  
  2916. def uCSIsKatakana(code):
  2917.     '''Check whether the character is part of Katakana UCS Block '''
  2918.     ret = libxml2mod.xmlUCSIsKatakana(code)
  2919.     return ret
  2920.  
  2921.  
  2922. def uCSIsKatakanaPhoneticExtensions(code):
  2923.     '''Check whether the character is part of
  2924.        KatakanaPhoneticExtensions UCS Block '''
  2925.     ret = libxml2mod.xmlUCSIsKatakanaPhoneticExtensions(code)
  2926.     return ret
  2927.  
  2928.  
  2929. def uCSIsKhmer(code):
  2930.     '''Check whether the character is part of Khmer UCS Block '''
  2931.     ret = libxml2mod.xmlUCSIsKhmer(code)
  2932.     return ret
  2933.  
  2934.  
  2935. def uCSIsKhmerSymbols(code):
  2936.     '''Check whether the character is part of KhmerSymbols UCS
  2937.        Block '''
  2938.     ret = libxml2mod.xmlUCSIsKhmerSymbols(code)
  2939.     return ret
  2940.  
  2941.  
  2942. def uCSIsLao(code):
  2943.     '''Check whether the character is part of Lao UCS Block '''
  2944.     ret = libxml2mod.xmlUCSIsLao(code)
  2945.     return ret
  2946.  
  2947.  
  2948. def uCSIsLatin1Supplement(code):
  2949.     '''Check whether the character is part of Latin-1Supplement
  2950.        UCS Block '''
  2951.     ret = libxml2mod.xmlUCSIsLatin1Supplement(code)
  2952.     return ret
  2953.  
  2954.  
  2955. def uCSIsLatinExtendedA(code):
  2956.     '''Check whether the character is part of LatinExtended-A UCS
  2957.        Block '''
  2958.     ret = libxml2mod.xmlUCSIsLatinExtendedA(code)
  2959.     return ret
  2960.  
  2961.  
  2962. def uCSIsLatinExtendedAdditional(code):
  2963.     '''Check whether the character is part of
  2964.        LatinExtendedAdditional UCS Block '''
  2965.     ret = libxml2mod.xmlUCSIsLatinExtendedAdditional(code)
  2966.     return ret
  2967.  
  2968.  
  2969. def uCSIsLatinExtendedB(code):
  2970.     '''Check whether the character is part of LatinExtended-B UCS
  2971.        Block '''
  2972.     ret = libxml2mod.xmlUCSIsLatinExtendedB(code)
  2973.     return ret
  2974.  
  2975.  
  2976. def uCSIsLetterlikeSymbols(code):
  2977.     '''Check whether the character is part of LetterlikeSymbols
  2978.        UCS Block '''
  2979.     ret = libxml2mod.xmlUCSIsLetterlikeSymbols(code)
  2980.     return ret
  2981.  
  2982.  
  2983. def uCSIsLimbu(code):
  2984.     '''Check whether the character is part of Limbu UCS Block '''
  2985.     ret = libxml2mod.xmlUCSIsLimbu(code)
  2986.     return ret
  2987.  
  2988.  
  2989. def uCSIsLinearBIdeograms(code):
  2990.     '''Check whether the character is part of LinearBIdeograms UCS
  2991.        Block '''
  2992.     ret = libxml2mod.xmlUCSIsLinearBIdeograms(code)
  2993.     return ret
  2994.  
  2995.  
  2996. def uCSIsLinearBSyllabary(code):
  2997.     '''Check whether the character is part of LinearBSyllabary UCS
  2998.        Block '''
  2999.     ret = libxml2mod.xmlUCSIsLinearBSyllabary(code)
  3000.     return ret
  3001.  
  3002.  
  3003. def uCSIsLowSurrogates(code):
  3004.     '''Check whether the character is part of LowSurrogates UCS
  3005.        Block '''
  3006.     ret = libxml2mod.xmlUCSIsLowSurrogates(code)
  3007.     return ret
  3008.  
  3009.  
  3010. def uCSIsMalayalam(code):
  3011.     '''Check whether the character is part of Malayalam UCS Block '''
  3012.     ret = libxml2mod.xmlUCSIsMalayalam(code)
  3013.     return ret
  3014.  
  3015.  
  3016. def uCSIsMathematicalAlphanumericSymbols(code):
  3017.     '''Check whether the character is part of
  3018.        MathematicalAlphanumericSymbols UCS Block '''
  3019.     ret = libxml2mod.xmlUCSIsMathematicalAlphanumericSymbols(code)
  3020.     return ret
  3021.  
  3022.  
  3023. def uCSIsMathematicalOperators(code):
  3024.     '''Check whether the character is part of
  3025.        MathematicalOperators UCS Block '''
  3026.     ret = libxml2mod.xmlUCSIsMathematicalOperators(code)
  3027.     return ret
  3028.  
  3029.  
  3030. def uCSIsMiscellaneousMathematicalSymbolsA(code):
  3031.     '''Check whether the character is part of
  3032.        MiscellaneousMathematicalSymbols-A UCS Block '''
  3033.     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsA(code)
  3034.     return ret
  3035.  
  3036.  
  3037. def uCSIsMiscellaneousMathematicalSymbolsB(code):
  3038.     '''Check whether the character is part of
  3039.        MiscellaneousMathematicalSymbols-B UCS Block '''
  3040.     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsB(code)
  3041.     return ret
  3042.  
  3043.  
  3044. def uCSIsMiscellaneousSymbols(code):
  3045.     '''Check whether the character is part of MiscellaneousSymbols
  3046.        UCS Block '''
  3047.     ret = libxml2mod.xmlUCSIsMiscellaneousSymbols(code)
  3048.     return ret
  3049.  
  3050.  
  3051. def uCSIsMiscellaneousSymbolsandArrows(code):
  3052.     '''Check whether the character is part of
  3053.        MiscellaneousSymbolsandArrows UCS Block '''
  3054.     ret = libxml2mod.xmlUCSIsMiscellaneousSymbolsandArrows(code)
  3055.     return ret
  3056.  
  3057.  
  3058. def uCSIsMiscellaneousTechnical(code):
  3059.     '''Check whether the character is part of
  3060.        MiscellaneousTechnical UCS Block '''
  3061.     ret = libxml2mod.xmlUCSIsMiscellaneousTechnical(code)
  3062.     return ret
  3063.  
  3064.  
  3065. def uCSIsMongolian(code):
  3066.     '''Check whether the character is part of Mongolian UCS Block '''
  3067.     ret = libxml2mod.xmlUCSIsMongolian(code)
  3068.     return ret
  3069.  
  3070.  
  3071. def uCSIsMusicalSymbols(code):
  3072.     '''Check whether the character is part of MusicalSymbols UCS
  3073.        Block '''
  3074.     ret = libxml2mod.xmlUCSIsMusicalSymbols(code)
  3075.     return ret
  3076.  
  3077.  
  3078. def uCSIsMyanmar(code):
  3079.     '''Check whether the character is part of Myanmar UCS Block '''
  3080.     ret = libxml2mod.xmlUCSIsMyanmar(code)
  3081.     return ret
  3082.  
  3083.  
  3084. def uCSIsNumberForms(code):
  3085.     '''Check whether the character is part of NumberForms UCS Block '''
  3086.     ret = libxml2mod.xmlUCSIsNumberForms(code)
  3087.     return ret
  3088.  
  3089.  
  3090. def uCSIsOgham(code):
  3091.     '''Check whether the character is part of Ogham UCS Block '''
  3092.     ret = libxml2mod.xmlUCSIsOgham(code)
  3093.     return ret
  3094.  
  3095.  
  3096. def uCSIsOldItalic(code):
  3097.     '''Check whether the character is part of OldItalic UCS Block '''
  3098.     ret = libxml2mod.xmlUCSIsOldItalic(code)
  3099.     return ret
  3100.  
  3101.  
  3102. def uCSIsOpticalCharacterRecognition(code):
  3103.     '''Check whether the character is part of
  3104.        OpticalCharacterRecognition UCS Block '''
  3105.     ret = libxml2mod.xmlUCSIsOpticalCharacterRecognition(code)
  3106.     return ret
  3107.  
  3108.  
  3109. def uCSIsOriya(code):
  3110.     '''Check whether the character is part of Oriya UCS Block '''
  3111.     ret = libxml2mod.xmlUCSIsOriya(code)
  3112.     return ret
  3113.  
  3114.  
  3115. def uCSIsOsmanya(code):
  3116.     '''Check whether the character is part of Osmanya UCS Block '''
  3117.     ret = libxml2mod.xmlUCSIsOsmanya(code)
  3118.     return ret
  3119.  
  3120.  
  3121. def uCSIsPhoneticExtensions(code):
  3122.     '''Check whether the character is part of PhoneticExtensions
  3123.        UCS Block '''
  3124.     ret = libxml2mod.xmlUCSIsPhoneticExtensions(code)
  3125.     return ret
  3126.  
  3127.  
  3128. def uCSIsPrivateUse(code):
  3129.     '''Check whether the character is part of PrivateUse UCS Block '''
  3130.     ret = libxml2mod.xmlUCSIsPrivateUse(code)
  3131.     return ret
  3132.  
  3133.  
  3134. def uCSIsPrivateUseArea(code):
  3135.     '''Check whether the character is part of PrivateUseArea UCS
  3136.        Block '''
  3137.     ret = libxml2mod.xmlUCSIsPrivateUseArea(code)
  3138.     return ret
  3139.  
  3140.  
  3141. def uCSIsRunic(code):
  3142.     '''Check whether the character is part of Runic UCS Block '''
  3143.     ret = libxml2mod.xmlUCSIsRunic(code)
  3144.     return ret
  3145.  
  3146.  
  3147. def uCSIsShavian(code):
  3148.     '''Check whether the character is part of Shavian UCS Block '''
  3149.     ret = libxml2mod.xmlUCSIsShavian(code)
  3150.     return ret
  3151.  
  3152.  
  3153. def uCSIsSinhala(code):
  3154.     '''Check whether the character is part of Sinhala UCS Block '''
  3155.     ret = libxml2mod.xmlUCSIsSinhala(code)
  3156.     return ret
  3157.  
  3158.  
  3159. def uCSIsSmallFormVariants(code):
  3160.     '''Check whether the character is part of SmallFormVariants
  3161.        UCS Block '''
  3162.     ret = libxml2mod.xmlUCSIsSmallFormVariants(code)
  3163.     return ret
  3164.  
  3165.  
  3166. def uCSIsSpacingModifierLetters(code):
  3167.     '''Check whether the character is part of
  3168.        SpacingModifierLetters UCS Block '''
  3169.     ret = libxml2mod.xmlUCSIsSpacingModifierLetters(code)
  3170.     return ret
  3171.  
  3172.  
  3173. def uCSIsSpecials(code):
  3174.     '''Check whether the character is part of Specials UCS Block '''
  3175.     ret = libxml2mod.xmlUCSIsSpecials(code)
  3176.     return ret
  3177.  
  3178.  
  3179. def uCSIsSuperscriptsandSubscripts(code):
  3180.     '''Check whether the character is part of
  3181.        SuperscriptsandSubscripts UCS Block '''
  3182.     ret = libxml2mod.xmlUCSIsSuperscriptsandSubscripts(code)
  3183.     return ret
  3184.  
  3185.  
  3186. def uCSIsSupplementalArrowsA(code):
  3187.     '''Check whether the character is part of SupplementalArrows-A
  3188.        UCS Block '''
  3189.     ret = libxml2mod.xmlUCSIsSupplementalArrowsA(code)
  3190.     return ret
  3191.  
  3192.  
  3193. def uCSIsSupplementalArrowsB(code):
  3194.     '''Check whether the character is part of SupplementalArrows-B
  3195.        UCS Block '''
  3196.     ret = libxml2mod.xmlUCSIsSupplementalArrowsB(code)
  3197.     return ret
  3198.  
  3199.  
  3200. def uCSIsSupplementalMathematicalOperators(code):
  3201.     '''Check whether the character is part of
  3202.        SupplementalMathematicalOperators UCS Block '''
  3203.     ret = libxml2mod.xmlUCSIsSupplementalMathematicalOperators(code)
  3204.     return ret
  3205.  
  3206.  
  3207. def uCSIsSupplementaryPrivateUseAreaA(code):
  3208.     '''Check whether the character is part of
  3209.        SupplementaryPrivateUseArea-A UCS Block '''
  3210.     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaA(code)
  3211.     return ret
  3212.  
  3213.  
  3214. def uCSIsSupplementaryPrivateUseAreaB(code):
  3215.     '''Check whether the character is part of
  3216.        SupplementaryPrivateUseArea-B UCS Block '''
  3217.     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaB(code)
  3218.     return ret
  3219.  
  3220.  
  3221. def uCSIsSyriac(code):
  3222.     '''Check whether the character is part of Syriac UCS Block '''
  3223.     ret = libxml2mod.xmlUCSIsSyriac(code)
  3224.     return ret
  3225.  
  3226.  
  3227. def uCSIsTagalog(code):
  3228.     '''Check whether the character is part of Tagalog UCS Block '''
  3229.     ret = libxml2mod.xmlUCSIsTagalog(code)
  3230.     return ret
  3231.  
  3232.  
  3233. def uCSIsTagbanwa(code):
  3234.     '''Check whether the character is part of Tagbanwa UCS Block '''
  3235.     ret = libxml2mod.xmlUCSIsTagbanwa(code)
  3236.     return ret
  3237.  
  3238.  
  3239. def uCSIsTags(code):
  3240.     '''Check whether the character is part of Tags UCS Block '''
  3241.     ret = libxml2mod.xmlUCSIsTags(code)
  3242.     return ret
  3243.  
  3244.  
  3245. def uCSIsTaiLe(code):
  3246.     '''Check whether the character is part of TaiLe UCS Block '''
  3247.     ret = libxml2mod.xmlUCSIsTaiLe(code)
  3248.     return ret
  3249.  
  3250.  
  3251. def uCSIsTaiXuanJingSymbols(code):
  3252.     '''Check whether the character is part of TaiXuanJingSymbols
  3253.        UCS Block '''
  3254.     ret = libxml2mod.xmlUCSIsTaiXuanJingSymbols(code)
  3255.     return ret
  3256.  
  3257.  
  3258. def uCSIsTamil(code):
  3259.     '''Check whether the character is part of Tamil UCS Block '''
  3260.     ret = libxml2mod.xmlUCSIsTamil(code)
  3261.     return ret
  3262.  
  3263.  
  3264. def uCSIsTelugu(code):
  3265.     '''Check whether the character is part of Telugu UCS Block '''
  3266.     ret = libxml2mod.xmlUCSIsTelugu(code)
  3267.     return ret
  3268.  
  3269.  
  3270. def uCSIsThaana(code):
  3271.     '''Check whether the character is part of Thaana UCS Block '''
  3272.     ret = libxml2mod.xmlUCSIsThaana(code)
  3273.     return ret
  3274.  
  3275.  
  3276. def uCSIsThai(code):
  3277.     '''Check whether the character is part of Thai UCS Block '''
  3278.     ret = libxml2mod.xmlUCSIsThai(code)
  3279.     return ret
  3280.  
  3281.  
  3282. def uCSIsTibetan(code):
  3283.     '''Check whether the character is part of Tibetan UCS Block '''
  3284.     ret = libxml2mod.xmlUCSIsTibetan(code)
  3285.     return ret
  3286.  
  3287.  
  3288. def uCSIsUgaritic(code):
  3289.     '''Check whether the character is part of Ugaritic UCS Block '''
  3290.     ret = libxml2mod.xmlUCSIsUgaritic(code)
  3291.     return ret
  3292.  
  3293.  
  3294. def uCSIsUnifiedCanadianAboriginalSyllabics(code):
  3295.     '''Check whether the character is part of
  3296.        UnifiedCanadianAboriginalSyllabics UCS Block '''
  3297.     ret = libxml2mod.xmlUCSIsUnifiedCanadianAboriginalSyllabics(code)
  3298.     return ret
  3299.  
  3300.  
  3301. def uCSIsVariationSelectors(code):
  3302.     '''Check whether the character is part of VariationSelectors
  3303.        UCS Block '''
  3304.     ret = libxml2mod.xmlUCSIsVariationSelectors(code)
  3305.     return ret
  3306.  
  3307.  
  3308. def uCSIsVariationSelectorsSupplement(code):
  3309.     '''Check whether the character is part of
  3310.        VariationSelectorsSupplement UCS Block '''
  3311.     ret = libxml2mod.xmlUCSIsVariationSelectorsSupplement(code)
  3312.     return ret
  3313.  
  3314.  
  3315. def uCSIsYiRadicals(code):
  3316.     '''Check whether the character is part of YiRadicals UCS Block '''
  3317.     ret = libxml2mod.xmlUCSIsYiRadicals(code)
  3318.     return ret
  3319.  
  3320.  
  3321. def uCSIsYiSyllables(code):
  3322.     '''Check whether the character is part of YiSyllables UCS Block '''
  3323.     ret = libxml2mod.xmlUCSIsYiSyllables(code)
  3324.     return ret
  3325.  
  3326.  
  3327. def uCSIsYijingHexagramSymbols(code):
  3328.     '''Check whether the character is part of
  3329.        YijingHexagramSymbols UCS Block '''
  3330.     ret = libxml2mod.xmlUCSIsYijingHexagramSymbols(code)
  3331.     return ret
  3332.  
  3333.  
  3334. def checkVersion(version):
  3335.     '''check the compiled lib version against the include one.
  3336.        This can warn or immediately kill the application '''
  3337.     libxml2mod.xmlCheckVersion(version)
  3338.  
  3339.  
  3340. def valuePop(ctxt):
  3341.     '''Pops the top XPath object from the value stack '''
  3342.     if ctxt is None:
  3343.         ctxt__o = None
  3344.     else:
  3345.         ctxt__o = ctxt._o
  3346.     ret = libxml2mod.valuePop(ctxt__o)
  3347.     return ret
  3348.  
  3349.  
  3350. class xmlNode(xmlCore):
  3351.     
  3352.     def __init__(self, _obj = None):
  3353.         if type(_obj).__name__ != 'PyCObject':
  3354.             raise TypeError, 'xmlNode needs a PyCObject argument'
  3355.         type(_obj).__name__ != 'PyCObject'
  3356.         self._o = _obj
  3357.         xmlCore.__init__(self, _obj = _obj)
  3358.  
  3359.     
  3360.     def __repr__(self):
  3361.         return '<xmlNode (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  3362.  
  3363.     
  3364.     def ns(self):
  3365.         '''Get the namespace of a node '''
  3366.         ret = libxml2mod.xmlNodeGetNs(self._o)
  3367.         if ret is None:
  3368.             return None
  3369.         _xmlNode__tmp = xmlNs(_obj = ret)
  3370.         return _xmlNode__tmp
  3371.  
  3372.     
  3373.     def nsDefs(self):
  3374.         '''Get the namespace of a node '''
  3375.         ret = libxml2mod.xmlNodeGetNsDefs(self._o)
  3376.         if ret is None:
  3377.             return None
  3378.         _xmlNode__tmp = xmlNs(_obj = ret)
  3379.         return _xmlNode__tmp
  3380.  
  3381.     
  3382.     def debugDumpNode(self, output, depth):
  3383.         '''Dumps debug information for the element node, it is
  3384.            recursive '''
  3385.         libxml2mod.xmlDebugDumpNode(output, self._o, depth)
  3386.  
  3387.     
  3388.     def debugDumpNodeList(self, output, depth):
  3389.         '''Dumps debug information for the list of element node, it is
  3390.            recursive '''
  3391.         libxml2mod.xmlDebugDumpNodeList(output, self._o, depth)
  3392.  
  3393.     
  3394.     def debugDumpOneNode(self, output, depth):
  3395.         '''Dumps debug information for the element node, it is not
  3396.            recursive '''
  3397.         libxml2mod.xmlDebugDumpOneNode(output, self._o, depth)
  3398.  
  3399.     
  3400.     def lsCountNode(self):
  3401.         '''Count the children of @node. '''
  3402.         ret = libxml2mod.xmlLsCountNode(self._o)
  3403.         return ret
  3404.  
  3405.     
  3406.     def lsOneNode(self, output):
  3407.         '''Dump to @output the type and name of @node. '''
  3408.         libxml2mod.xmlLsOneNode(output, self._o)
  3409.  
  3410.     
  3411.     def shellPrintNode(self):
  3412.         '''Print node to the output FILE '''
  3413.         libxml2mod.xmlShellPrintNode(self._o)
  3414.  
  3415.     
  3416.     def addChild(self, cur):
  3417.         '''Add a new node to @parent, at the end of the child (or
  3418.           property) list merging adjacent TEXT nodes (in which case
  3419.           @cur is freed) If the new node is ATTRIBUTE, it is added
  3420.           into properties instead of children. If there is an
  3421.            attribute with equal name, it is first destroyed. '''
  3422.         if cur is None:
  3423.             cur__o = None
  3424.         else:
  3425.             cur__o = cur._o
  3426.         ret = libxml2mod.xmlAddChild(self._o, cur__o)
  3427.         if ret is None:
  3428.             raise treeError('xmlAddChild() failed')
  3429.         ret is None
  3430.         _xmlNode__tmp = xmlNode(_obj = ret)
  3431.         return _xmlNode__tmp
  3432.  
  3433.     
  3434.     def addChildList(self, cur):
  3435.         '''Add a list of node at the end of the child list of the
  3436.            parent merging adjacent TEXT nodes (@cur may be freed) '''
  3437.         if cur is None:
  3438.             cur__o = None
  3439.         else:
  3440.             cur__o = cur._o
  3441.         ret = libxml2mod.xmlAddChildList(self._o, cur__o)
  3442.         if ret is None:
  3443.             raise treeError('xmlAddChildList() failed')
  3444.         ret is None
  3445.         _xmlNode__tmp = xmlNode(_obj = ret)
  3446.         return _xmlNode__tmp
  3447.  
  3448.     
  3449.     def addContent(self, content):
  3450.         '''Append the extra substring to the node content. NOTE: In
  3451.           contrast to xmlNodeSetContent(), @content is supposed to be
  3452.           raw text, so unescaped XML special chars are allowed,
  3453.            entity references are not supported. '''
  3454.         libxml2mod.xmlNodeAddContent(self._o, content)
  3455.  
  3456.     
  3457.     def addContentLen(self, content, len):
  3458.         '''Append the extra substring to the node content. NOTE: In
  3459.           contrast to xmlNodeSetContentLen(), @content is supposed to
  3460.           be raw text, so unescaped XML special chars are allowed,
  3461.            entity references are not supported. '''
  3462.         libxml2mod.xmlNodeAddContentLen(self._o, content, len)
  3463.  
  3464.     
  3465.     def addNextSibling(self, elem):
  3466.         '''Add a new node @elem as the next sibling of @cur If the new
  3467.           node was already inserted in a document it is first
  3468.           unlinked from its existing context. As a result of text
  3469.           merging @elem may be freed. If the new node is ATTRIBUTE,
  3470.           it is added into properties instead of children. If there
  3471.            is an attribute with equal name, it is first destroyed. '''
  3472.         if elem is None:
  3473.             elem__o = None
  3474.         else:
  3475.             elem__o = elem._o
  3476.         ret = libxml2mod.xmlAddNextSibling(self._o, elem__o)
  3477.         if ret is None:
  3478.             raise treeError('xmlAddNextSibling() failed')
  3479.         ret is None
  3480.         _xmlNode__tmp = xmlNode(_obj = ret)
  3481.         return _xmlNode__tmp
  3482.  
  3483.     
  3484.     def addPrevSibling(self, elem):
  3485.         '''Add a new node @elem as the previous sibling of @cur
  3486.           merging adjacent TEXT nodes (@elem may be freed) If the new
  3487.           node was already inserted in a document it is first
  3488.           unlinked from its existing context. If the new node is
  3489.           ATTRIBUTE, it is added into properties instead of children.
  3490.           If there is an attribute with equal name, it is first
  3491.            destroyed. '''
  3492.         if elem is None:
  3493.             elem__o = None
  3494.         else:
  3495.             elem__o = elem._o
  3496.         ret = libxml2mod.xmlAddPrevSibling(self._o, elem__o)
  3497.         if ret is None:
  3498.             raise treeError('xmlAddPrevSibling() failed')
  3499.         ret is None
  3500.         _xmlNode__tmp = xmlNode(_obj = ret)
  3501.         return _xmlNode__tmp
  3502.  
  3503.     
  3504.     def addSibling(self, elem):
  3505.         '''Add a new element @elem to the list of siblings of @cur
  3506.           merging adjacent TEXT nodes (@elem may be freed) If the new
  3507.           element was already inserted in a document it is first
  3508.            unlinked from its existing context. '''
  3509.         if elem is None:
  3510.             elem__o = None
  3511.         else:
  3512.             elem__o = elem._o
  3513.         ret = libxml2mod.xmlAddSibling(self._o, elem__o)
  3514.         if ret is None:
  3515.             raise treeError('xmlAddSibling() failed')
  3516.         ret is None
  3517.         _xmlNode__tmp = xmlNode(_obj = ret)
  3518.         return _xmlNode__tmp
  3519.  
  3520.     
  3521.     def copyNode(self, extended):
  3522.         '''Do a copy of the node. '''
  3523.         ret = libxml2mod.xmlCopyNode(self._o, extended)
  3524.         if ret is None:
  3525.             raise treeError('xmlCopyNode() failed')
  3526.         ret is None
  3527.         _xmlNode__tmp = xmlNode(_obj = ret)
  3528.         return _xmlNode__tmp
  3529.  
  3530.     
  3531.     def copyNodeList(self):
  3532.         '''Do a recursive copy of the node list. Use
  3533.           xmlDocCopyNodeList() if possible to ensure string interning. '''
  3534.         ret = libxml2mod.xmlCopyNodeList(self._o)
  3535.         if ret is None:
  3536.             raise treeError('xmlCopyNodeList() failed')
  3537.         ret is None
  3538.         _xmlNode__tmp = xmlNode(_obj = ret)
  3539.         return _xmlNode__tmp
  3540.  
  3541.     
  3542.     def copyProp(self, cur):
  3543.         '''Do a copy of the attribute. '''
  3544.         if cur is None:
  3545.             cur__o = None
  3546.         else:
  3547.             cur__o = cur._o
  3548.         ret = libxml2mod.xmlCopyProp(self._o, cur__o)
  3549.         if ret is None:
  3550.             raise treeError('xmlCopyProp() failed')
  3551.         ret is None
  3552.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3553.         return _xmlNode__tmp
  3554.  
  3555.     
  3556.     def copyPropList(self, cur):
  3557.         '''Do a copy of an attribute list. '''
  3558.         if cur is None:
  3559.             cur__o = None
  3560.         else:
  3561.             cur__o = cur._o
  3562.         ret = libxml2mod.xmlCopyPropList(self._o, cur__o)
  3563.         if ret is None:
  3564.             raise treeError('xmlCopyPropList() failed')
  3565.         ret is None
  3566.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3567.         return _xmlNode__tmp
  3568.  
  3569.     
  3570.     def docCopyNode(self, doc, extended):
  3571.         '''Do a copy of the node to a given document. '''
  3572.         if doc is None:
  3573.             doc__o = None
  3574.         else:
  3575.             doc__o = doc._o
  3576.         ret = libxml2mod.xmlDocCopyNode(self._o, doc__o, extended)
  3577.         if ret is None:
  3578.             raise treeError('xmlDocCopyNode() failed')
  3579.         ret is None
  3580.         _xmlNode__tmp = xmlNode(_obj = ret)
  3581.         return _xmlNode__tmp
  3582.  
  3583.     
  3584.     def docCopyNodeList(self, doc):
  3585.         '''Do a recursive copy of the node list. '''
  3586.         if doc is None:
  3587.             doc__o = None
  3588.         else:
  3589.             doc__o = doc._o
  3590.         ret = libxml2mod.xmlDocCopyNodeList(doc__o, self._o)
  3591.         if ret is None:
  3592.             raise treeError('xmlDocCopyNodeList() failed')
  3593.         ret is None
  3594.         _xmlNode__tmp = xmlNode(_obj = ret)
  3595.         return _xmlNode__tmp
  3596.  
  3597.     
  3598.     def docSetRootElement(self, doc):
  3599.         '''Set the root element of the document (doc->children is a
  3600.            list containing possibly comments, PIs, etc ...). '''
  3601.         if doc is None:
  3602.             doc__o = None
  3603.         else:
  3604.             doc__o = doc._o
  3605.         ret = libxml2mod.xmlDocSetRootElement(doc__o, self._o)
  3606.         if ret is None:
  3607.             return None
  3608.         _xmlNode__tmp = xmlNode(_obj = ret)
  3609.         return _xmlNode__tmp
  3610.  
  3611.     
  3612.     def firstElementChild(self):
  3613.         """Finds the first child node of that element which is a
  3614.           Element node Note the handling of entities references is
  3615.           different than in the W3C DOM element traversal spec since
  3616.           we don't have back reference from entities content to
  3617.            entities references. """
  3618.         ret = libxml2mod.xmlFirstElementChild(self._o)
  3619.         if ret is None:
  3620.             return None
  3621.         _xmlNode__tmp = xmlNode(_obj = ret)
  3622.         return _xmlNode__tmp
  3623.  
  3624.     
  3625.     def freeNode(self):
  3626.         """Free a node, this is a recursive behaviour, all the
  3627.           children are freed too. This doesn't unlink the child from
  3628.            the list, use xmlUnlinkNode() first. """
  3629.         libxml2mod.xmlFreeNode(self._o)
  3630.  
  3631.     
  3632.     def freeNodeList(self):
  3633.         '''Free a node and all its siblings, this is a recursive
  3634.            behaviour, all the children are freed too. '''
  3635.         libxml2mod.xmlFreeNodeList(self._o)
  3636.  
  3637.     
  3638.     def getBase(self, doc):
  3639.         '''Searches for the BASE URL. The code should work on both XML
  3640.           and HTML document even if base mechanisms are completely
  3641.           different. It returns the base as defined in RFC 2396
  3642.           sections 5.1.1. Base URI within Document Content and 5.1.2.
  3643.           Base URI from the Encapsulating Entity However it does not
  3644.           return the document base (5.1.3), use xmlDocumentGetBase()
  3645.            for this '''
  3646.         if doc is None:
  3647.             doc__o = None
  3648.         else:
  3649.             doc__o = doc._o
  3650.         ret = libxml2mod.xmlNodeGetBase(doc__o, self._o)
  3651.         return ret
  3652.  
  3653.     
  3654.     def getContent(self):
  3655.         """Read the value of a node, this can be either the text
  3656.           carried directly by this node if it's a TEXT node or the
  3657.           aggregate string of the values carried by this node child's
  3658.            (TEXT and ENTITY_REF). Entity references are substituted. """
  3659.         ret = libxml2mod.xmlNodeGetContent(self._o)
  3660.         return ret
  3661.  
  3662.     
  3663.     def getLang(self):
  3664.         '''Searches the language of a node, i.e. the values of the
  3665.           xml:lang attribute or the one carried by the nearest
  3666.            ancestor. '''
  3667.         ret = libxml2mod.xmlNodeGetLang(self._o)
  3668.         return ret
  3669.  
  3670.     
  3671.     def getSpacePreserve(self):
  3672.         '''Searches the space preserving behaviour of a node, i.e. the
  3673.           values of the xml:space attribute or the one carried by the
  3674.            nearest ancestor. '''
  3675.         ret = libxml2mod.xmlNodeGetSpacePreserve(self._o)
  3676.         return ret
  3677.  
  3678.     
  3679.     def hasNsProp(self, name, nameSpace):
  3680.         '''Search for an attribute associated to a node This attribute
  3681.           has to be anchored in the namespace specified. This does
  3682.           the entity substitution. This function looks in DTD
  3683.           attribute declaration for #FIXED or default declaration
  3684.           values unless DTD use has been turned off. Note that a
  3685.            namespace of None indicates to use the default namespace. '''
  3686.         ret = libxml2mod.xmlHasNsProp(self._o, name, nameSpace)
  3687.         if ret is None:
  3688.             return None
  3689.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3690.         return _xmlNode__tmp
  3691.  
  3692.     
  3693.     def hasProp(self, name):
  3694.         '''Search an attribute associated to a node This function also
  3695.           looks in DTD attribute declaration for #FIXED or default
  3696.            declaration values unless DTD use has been turned off. '''
  3697.         ret = libxml2mod.xmlHasProp(self._o, name)
  3698.         if ret is None:
  3699.             return None
  3700.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3701.         return _xmlNode__tmp
  3702.  
  3703.     
  3704.     def isBlankNode(self):
  3705.         '''Checks whether this node is an empty or whitespace only
  3706.            (and possibly ignorable) text-node. '''
  3707.         ret = libxml2mod.xmlIsBlankNode(self._o)
  3708.         return ret
  3709.  
  3710.     
  3711.     def isText(self):
  3712.         '''Is this node a Text node ? '''
  3713.         ret = libxml2mod.xmlNodeIsText(self._o)
  3714.         return ret
  3715.  
  3716.     
  3717.     def lastChild(self):
  3718.         '''Search the last child of a node. '''
  3719.         ret = libxml2mod.xmlGetLastChild(self._o)
  3720.         if ret is None:
  3721.             raise treeError('xmlGetLastChild() failed')
  3722.         ret is None
  3723.         _xmlNode__tmp = xmlNode(_obj = ret)
  3724.         return _xmlNode__tmp
  3725.  
  3726.     
  3727.     def lastElementChild(self):
  3728.         """Finds the last child node of that element which is a
  3729.           Element node Note the handling of entities references is
  3730.           different than in the W3C DOM element traversal spec since
  3731.           we don't have back reference from entities content to
  3732.            entities references. """
  3733.         ret = libxml2mod.xmlLastElementChild(self._o)
  3734.         if ret is None:
  3735.             return None
  3736.         _xmlNode__tmp = xmlNode(_obj = ret)
  3737.         return _xmlNode__tmp
  3738.  
  3739.     
  3740.     def lineNo(self):
  3741.         '''Get line number of @node. This requires activation of this
  3742.           option before invoking the parser by calling
  3743.            xmlLineNumbersDefault(1) '''
  3744.         ret = libxml2mod.xmlGetLineNo(self._o)
  3745.         return ret
  3746.  
  3747.     
  3748.     def listGetRawString(self, doc, inLine):
  3749.         """Builds the string equivalent to the text contained in the
  3750.           Node list made of TEXTs and ENTITY_REFs, contrary to
  3751.           xmlNodeListGetString() this function doesn't do any
  3752.            character encoding handling. """
  3753.         if doc is None:
  3754.             doc__o = None
  3755.         else:
  3756.             doc__o = doc._o
  3757.         ret = libxml2mod.xmlNodeListGetRawString(doc__o, self._o, inLine)
  3758.         return ret
  3759.  
  3760.     
  3761.     def listGetString(self, doc, inLine):
  3762.         '''Build the string equivalent to the text contained in the
  3763.            Node list made of TEXTs and ENTITY_REFs '''
  3764.         if doc is None:
  3765.             doc__o = None
  3766.         else:
  3767.             doc__o = doc._o
  3768.         ret = libxml2mod.xmlNodeListGetString(doc__o, self._o, inLine)
  3769.         return ret
  3770.  
  3771.     
  3772.     def newChild(self, ns, name, content):
  3773.         '''Creation of a new child element, added at the end of
  3774.           @parent children list. @ns and @content parameters are
  3775.           optional (None). If @ns is None, the newly created element
  3776.           inherits the namespace of @parent. If @content is non None,
  3777.           a child list containing the TEXTs and ENTITY_REFs node will
  3778.           be created. NOTE: @content is supposed to be a piece of XML
  3779.           CDATA, so it allows entity references. XML special chars
  3780.           must be escaped first by using
  3781.           xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
  3782.            be used. '''
  3783.         if ns is None:
  3784.             ns__o = None
  3785.         else:
  3786.             ns__o = ns._o
  3787.         ret = libxml2mod.xmlNewChild(self._o, ns__o, name, content)
  3788.         if ret is None:
  3789.             raise treeError('xmlNewChild() failed')
  3790.         ret is None
  3791.         _xmlNode__tmp = xmlNode(_obj = ret)
  3792.         return _xmlNode__tmp
  3793.  
  3794.     
  3795.     def newNs(self, href, prefix):
  3796.         '''Creation of a new Namespace. This function will refuse to
  3797.           create a namespace with a similar prefix than an existing
  3798.           one present on this node. We use href==None in the case of
  3799.            an element creation where the namespace was not defined. '''
  3800.         ret = libxml2mod.xmlNewNs(self._o, href, prefix)
  3801.         if ret is None:
  3802.             raise treeError('xmlNewNs() failed')
  3803.         ret is None
  3804.         _xmlNode__tmp = xmlNs(_obj = ret)
  3805.         return _xmlNode__tmp
  3806.  
  3807.     
  3808.     def newNsProp(self, ns, name, value):
  3809.         '''Create a new property tagged with a namespace and carried
  3810.            by a node. '''
  3811.         if ns is None:
  3812.             ns__o = None
  3813.         else:
  3814.             ns__o = ns._o
  3815.         ret = libxml2mod.xmlNewNsProp(self._o, ns__o, name, value)
  3816.         if ret is None:
  3817.             raise treeError('xmlNewNsProp() failed')
  3818.         ret is None
  3819.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3820.         return _xmlNode__tmp
  3821.  
  3822.     
  3823.     def newNsPropEatName(self, ns, name, value):
  3824.         '''Create a new property tagged with a namespace and carried
  3825.            by a node. '''
  3826.         if ns is None:
  3827.             ns__o = None
  3828.         else:
  3829.             ns__o = ns._o
  3830.         ret = libxml2mod.xmlNewNsPropEatName(self._o, ns__o, name, value)
  3831.         if ret is None:
  3832.             raise treeError('xmlNewNsPropEatName() failed')
  3833.         ret is None
  3834.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3835.         return _xmlNode__tmp
  3836.  
  3837.     
  3838.     def newProp(self, name, value):
  3839.         '''Create a new property carried by a node. '''
  3840.         ret = libxml2mod.xmlNewProp(self._o, name, value)
  3841.         if ret is None:
  3842.             raise treeError('xmlNewProp() failed')
  3843.         ret is None
  3844.         _xmlNode__tmp = xmlAttr(_obj = ret)
  3845.         return _xmlNode__tmp
  3846.  
  3847.     
  3848.     def newTextChild(self, ns, name, content):
  3849.         '''Creation of a new child element, added at the end of
  3850.           @parent children list. @ns and @content parameters are
  3851.           optional (None). If @ns is None, the newly created element
  3852.           inherits the namespace of @parent. If @content is non None,
  3853.           a child TEXT node will be created containing the string
  3854.           @content. NOTE: Use xmlNewChild() if @content will contain
  3855.           entities that need to be preserved. Use this function,
  3856.           xmlNewTextChild(), if you need to ensure that reserved XML
  3857.           chars that might appear in @content, such as the ampersand,
  3858.           greater-than or less-than signs, are automatically replaced
  3859.            by their XML escaped entity representations. '''
  3860.         if ns is None:
  3861.             ns__o = None
  3862.         else:
  3863.             ns__o = ns._o
  3864.         ret = libxml2mod.xmlNewTextChild(self._o, ns__o, name, content)
  3865.         if ret is None:
  3866.             raise treeError('xmlNewTextChild() failed')
  3867.         ret is None
  3868.         _xmlNode__tmp = xmlNode(_obj = ret)
  3869.         return _xmlNode__tmp
  3870.  
  3871.     
  3872.     def nextElementSibling(self):
  3873.         """Finds the first closest next sibling of the node which is
  3874.           an element node. Note the handling of entities references
  3875.           is different than in the W3C DOM element traversal spec
  3876.           since we don't have back reference from entities content to
  3877.            entities references. """
  3878.         ret = libxml2mod.xmlNextElementSibling(self._o)
  3879.         if ret is None:
  3880.             return None
  3881.         _xmlNode__tmp = xmlNode(_obj = ret)
  3882.         return _xmlNode__tmp
  3883.  
  3884.     
  3885.     def noNsProp(self, name):
  3886.         '''Search and get the value of an attribute associated to a
  3887.           node This does the entity substitution. This function looks
  3888.           in DTD attribute declaration for #FIXED or default
  3889.           declaration values unless DTD use has been turned off. This
  3890.           function is similar to xmlGetProp except it will accept
  3891.            only an attribute in no namespace. '''
  3892.         ret = libxml2mod.xmlGetNoNsProp(self._o, name)
  3893.         return ret
  3894.  
  3895.     
  3896.     def nodePath(self):
  3897.         '''Build a structure based Path for the given node '''
  3898.         ret = libxml2mod.xmlGetNodePath(self._o)
  3899.         return ret
  3900.  
  3901.     
  3902.     def nsProp(self, name, nameSpace):
  3903.         '''Search and get the value of an attribute associated to a
  3904.           node This attribute has to be anchored in the namespace
  3905.           specified. This does the entity substitution. This function
  3906.           looks in DTD attribute declaration for #FIXED or default
  3907.            declaration values unless DTD use has been turned off. '''
  3908.         ret = libxml2mod.xmlGetNsProp(self._o, name, nameSpace)
  3909.         return ret
  3910.  
  3911.     
  3912.     def previousElementSibling(self):
  3913.         """Finds the first closest previous sibling of the node which
  3914.           is an element node. Note the handling of entities
  3915.           references is different than in the W3C DOM element
  3916.           traversal spec since we don't have back reference from
  3917.            entities content to entities references. """
  3918.         ret = libxml2mod.xmlPreviousElementSibling(self._o)
  3919.         if ret is None:
  3920.             return None
  3921.         _xmlNode__tmp = xmlNode(_obj = ret)
  3922.         return _xmlNode__tmp
  3923.  
  3924.     
  3925.     def prop(self, name):
  3926.         '''Search and get the value of an attribute associated to a
  3927.           node This does the entity substitution. This function looks
  3928.           in DTD attribute declaration for #FIXED or default
  3929.           declaration values unless DTD use has been turned off.
  3930.           NOTE: this function acts independently of namespaces
  3931.           associated to the attribute. Use xmlGetNsProp() or
  3932.            xmlGetNoNsProp() for namespace aware processing. '''
  3933.         ret = libxml2mod.xmlGetProp(self._o, name)
  3934.         return ret
  3935.  
  3936.     
  3937.     def reconciliateNs(self, doc):
  3938.         '''This function checks that all the namespaces declared
  3939.           within the given tree are properly declared. This is needed
  3940.           for example after Copy or Cut and then paste operations.
  3941.           The subtree may still hold pointers to namespace
  3942.           declarations outside the subtree or invalid/masked. As much
  3943.           as possible the function try to reuse the existing
  3944.           namespaces found in the new environment. If not possible
  3945.           the new namespaces are redeclared on @tree at the top of
  3946.            the given subtree. '''
  3947.         if doc is None:
  3948.             doc__o = None
  3949.         else:
  3950.             doc__o = doc._o
  3951.         ret = libxml2mod.xmlReconciliateNs(doc__o, self._o)
  3952.         return ret
  3953.  
  3954.     
  3955.     def replaceNode(self, cur):
  3956.         '''Unlink the old node from its current context, prune the new
  3957.           one at the same place. If @cur was already inserted in a
  3958.            document it is first unlinked from its existing context. '''
  3959.         if cur is None:
  3960.             cur__o = None
  3961.         else:
  3962.             cur__o = cur._o
  3963.         ret = libxml2mod.xmlReplaceNode(self._o, cur__o)
  3964.         if ret is None:
  3965.             raise treeError('xmlReplaceNode() failed')
  3966.         ret is None
  3967.         _xmlNode__tmp = xmlNode(_obj = ret)
  3968.         return _xmlNode__tmp
  3969.  
  3970.     
  3971.     def searchNs(self, doc, nameSpace):
  3972.         """Search a Ns registered under a given name space for a
  3973.           document. recurse on the parents until it finds the defined
  3974.           namespace or return None otherwise. @nameSpace can be None,
  3975.           this is a search for the default namespace. We don't allow
  3976.           to cross entities boundaries. If you don't declare the
  3977.           namespace within those you will be in troubles !!! A
  3978.            warning is generated to cover this case. """
  3979.         if doc is None:
  3980.             doc__o = None
  3981.         else:
  3982.             doc__o = doc._o
  3983.         ret = libxml2mod.xmlSearchNs(doc__o, self._o, nameSpace)
  3984.         if ret is None:
  3985.             raise treeError('xmlSearchNs() failed')
  3986.         ret is None
  3987.         _xmlNode__tmp = xmlNs(_obj = ret)
  3988.         return _xmlNode__tmp
  3989.  
  3990.     
  3991.     def searchNsByHref(self, doc, href):
  3992.         '''Search a Ns aliasing a given URI. Recurse on the parents
  3993.           until it finds the defined namespace or return None
  3994.            otherwise. '''
  3995.         if doc is None:
  3996.             doc__o = None
  3997.         else:
  3998.             doc__o = doc._o
  3999.         ret = libxml2mod.xmlSearchNsByHref(doc__o, self._o, href)
  4000.         if ret is None:
  4001.             raise treeError('xmlSearchNsByHref() failed')
  4002.         ret is None
  4003.         _xmlNode__tmp = xmlNs(_obj = ret)
  4004.         return _xmlNode__tmp
  4005.  
  4006.     
  4007.     def setBase(self, uri):
  4008.         '''Set (or reset) the base URI of a node, i.e. the value of
  4009.            the xml:base attribute. '''
  4010.         libxml2mod.xmlNodeSetBase(self._o, uri)
  4011.  
  4012.     
  4013.     def setContent(self, content):
  4014.         '''Replace the content of a node. NOTE: @content is supposed
  4015.           to be a piece of XML CDATA, so it allows entity references,
  4016.           but XML special chars need to be escaped first by using
  4017.            xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). '''
  4018.         libxml2mod.xmlNodeSetContent(self._o, content)
  4019.  
  4020.     
  4021.     def setContentLen(self, content, len):
  4022.         '''Replace the content of a node. NOTE: @content is supposed
  4023.           to be a piece of XML CDATA, so it allows entity references,
  4024.           but XML special chars need to be escaped first by using
  4025.            xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). '''
  4026.         libxml2mod.xmlNodeSetContentLen(self._o, content, len)
  4027.  
  4028.     
  4029.     def setLang(self, lang):
  4030.         '''Set the language of a node, i.e. the values of the xml:lang
  4031.            attribute. '''
  4032.         libxml2mod.xmlNodeSetLang(self._o, lang)
  4033.  
  4034.     
  4035.     def setListDoc(self, doc):
  4036.         '''update all nodes in the list to point to the right document '''
  4037.         if doc is None:
  4038.             doc__o = None
  4039.         else:
  4040.             doc__o = doc._o
  4041.         libxml2mod.xmlSetListDoc(self._o, doc__o)
  4042.  
  4043.     
  4044.     def setName(self, name):
  4045.         '''Set (or reset) the name of a node. '''
  4046.         libxml2mod.xmlNodeSetName(self._o, name)
  4047.  
  4048.     
  4049.     def setNs(self, ns):
  4050.         '''Associate a namespace to a node, a posteriori. '''
  4051.         if ns is None:
  4052.             ns__o = None
  4053.         else:
  4054.             ns__o = ns._o
  4055.         libxml2mod.xmlSetNs(self._o, ns__o)
  4056.  
  4057.     
  4058.     def setNsProp(self, ns, name, value):
  4059.         '''Set (or reset) an attribute carried by a node. The ns
  4060.            structure must be in scope, this is not checked '''
  4061.         if ns is None:
  4062.             ns__o = None
  4063.         else:
  4064.             ns__o = ns._o
  4065.         ret = libxml2mod.xmlSetNsProp(self._o, ns__o, name, value)
  4066.         if ret is None:
  4067.             raise treeError('xmlSetNsProp() failed')
  4068.         ret is None
  4069.         _xmlNode__tmp = xmlAttr(_obj = ret)
  4070.         return _xmlNode__tmp
  4071.  
  4072.     
  4073.     def setProp(self, name, value):
  4074.         """Set (or reset) an attribute carried by a node. If @name has
  4075.           a prefix, then the corresponding namespace-binding will be
  4076.           used, if in scope; it is an error it there's no such
  4077.            ns-binding for the prefix in scope. """
  4078.         ret = libxml2mod.xmlSetProp(self._o, name, value)
  4079.         if ret is None:
  4080.             raise treeError('xmlSetProp() failed')
  4081.         ret is None
  4082.         _xmlNode__tmp = xmlAttr(_obj = ret)
  4083.         return _xmlNode__tmp
  4084.  
  4085.     
  4086.     def setSpacePreserve(self, val):
  4087.         '''Set (or reset) the space preserving behaviour of a node,
  4088.            i.e. the value of the xml:space attribute. '''
  4089.         libxml2mod.xmlNodeSetSpacePreserve(self._o, val)
  4090.  
  4091.     
  4092.     def setTreeDoc(self, doc):
  4093.         '''update all nodes under the tree to point to the right
  4094.            document '''
  4095.         if doc is None:
  4096.             doc__o = None
  4097.         else:
  4098.             doc__o = doc._o
  4099.         libxml2mod.xmlSetTreeDoc(self._o, doc__o)
  4100.  
  4101.     
  4102.     def textConcat(self, content, len):
  4103.         '''Concat the given string at the end of the existing node
  4104.            content '''
  4105.         ret = libxml2mod.xmlTextConcat(self._o, content, len)
  4106.         return ret
  4107.  
  4108.     
  4109.     def textMerge(self, second):
  4110.         '''Merge two text nodes into one '''
  4111.         if second is None:
  4112.             second__o = None
  4113.         else:
  4114.             second__o = second._o
  4115.         ret = libxml2mod.xmlTextMerge(self._o, second__o)
  4116.         if ret is None:
  4117.             raise treeError('xmlTextMerge() failed')
  4118.         ret is None
  4119.         _xmlNode__tmp = xmlNode(_obj = ret)
  4120.         return _xmlNode__tmp
  4121.  
  4122.     
  4123.     def unlinkNode(self):
  4124.         """Unlink a node from it's current context, the node is not
  4125.            freed """
  4126.         libxml2mod.xmlUnlinkNode(self._o)
  4127.  
  4128.     
  4129.     def unsetNsProp(self, ns, name):
  4130.         '''Remove an attribute carried by a node. '''
  4131.         if ns is None:
  4132.             ns__o = None
  4133.         else:
  4134.             ns__o = ns._o
  4135.         ret = libxml2mod.xmlUnsetNsProp(self._o, ns__o, name)
  4136.         return ret
  4137.  
  4138.     
  4139.     def unsetProp(self, name):
  4140.         '''Remove an attribute carried by a node. This handles only
  4141.            attributes in no namespace. '''
  4142.         ret = libxml2mod.xmlUnsetProp(self._o, name)
  4143.         return ret
  4144.  
  4145.     
  4146.     def isID(self, doc, attr):
  4147.         '''Determine whether an attribute is of type ID. In case we
  4148.           have DTD(s) then this is done if DTD loading has been
  4149.           requested. In the case of HTML documents parsed with the
  4150.            HTML parser, then ID detection is done systematically. '''
  4151.         if doc is None:
  4152.             doc__o = None
  4153.         else:
  4154.             doc__o = doc._o
  4155.         if attr is None:
  4156.             attr__o = None
  4157.         else:
  4158.             attr__o = attr._o
  4159.         ret = libxml2mod.xmlIsID(doc__o, self._o, attr__o)
  4160.         return ret
  4161.  
  4162.     
  4163.     def isRef(self, doc, attr):
  4164.         '''Determine whether an attribute is of type Ref. In case we
  4165.           have DTD(s) then this is simple, otherwise we use an
  4166.            heuristic: name Ref (upper or lowercase). '''
  4167.         if doc is None:
  4168.             doc__o = None
  4169.         else:
  4170.             doc__o = doc._o
  4171.         if attr is None:
  4172.             attr__o = None
  4173.         else:
  4174.             attr__o = attr._o
  4175.         ret = libxml2mod.xmlIsRef(doc__o, self._o, attr__o)
  4176.         return ret
  4177.  
  4178.     
  4179.     def validNormalizeAttributeValue(self, doc, name, value):
  4180.         '''Does the validation related extra step of the normalization
  4181.           of attribute values:  If the declared value is not CDATA,
  4182.           then the XML processor must further process the normalized
  4183.           attribute value by discarding any leading and trailing
  4184.           space (#x20) characters, and by replacing sequences of
  4185.            space (#x20) characters by single space (#x20) character. '''
  4186.         if doc is None:
  4187.             doc__o = None
  4188.         else:
  4189.             doc__o = doc._o
  4190.         ret = libxml2mod.xmlValidNormalizeAttributeValue(doc__o, self._o, name, value)
  4191.         return ret
  4192.  
  4193.     
  4194.     def xincludeProcessTree(self):
  4195.         '''Implement the XInclude substitution for the given subtree '''
  4196.         ret = libxml2mod.xmlXIncludeProcessTree(self._o)
  4197.         return ret
  4198.  
  4199.     
  4200.     def xincludeProcessTreeFlags(self, flags):
  4201.         '''Implement the XInclude substitution for the given subtree '''
  4202.         ret = libxml2mod.xmlXIncludeProcessTreeFlags(self._o, flags)
  4203.         return ret
  4204.  
  4205.     
  4206.     def schemaValidateOneElement(self, ctxt):
  4207.         '''Validate a branch of a tree, starting with the given @elem. '''
  4208.         if ctxt is None:
  4209.             ctxt__o = None
  4210.         else:
  4211.             ctxt__o = ctxt._o
  4212.         ret = libxml2mod.xmlSchemaValidateOneElement(ctxt__o, self._o)
  4213.         return ret
  4214.  
  4215.     
  4216.     def xpathCastNodeToNumber(self):
  4217.         '''Converts a node to its number value '''
  4218.         ret = libxml2mod.xmlXPathCastNodeToNumber(self._o)
  4219.         return ret
  4220.  
  4221.     
  4222.     def xpathCastNodeToString(self):
  4223.         '''Converts a node to its string value. '''
  4224.         ret = libxml2mod.xmlXPathCastNodeToString(self._o)
  4225.         return ret
  4226.  
  4227.     
  4228.     def xpathCmpNodes(self, node2):
  4229.         '''Compare two nodes w.r.t document order '''
  4230.         if node2 is None:
  4231.             node2__o = None
  4232.         else:
  4233.             node2__o = node2._o
  4234.         ret = libxml2mod.xmlXPathCmpNodes(self._o, node2__o)
  4235.         return ret
  4236.  
  4237.     
  4238.     def xpathNewNodeSet(self):
  4239.         '''Create a new xmlXPathObjectPtr of type NodeSet and
  4240.            initialize it with the single Node @val '''
  4241.         ret = libxml2mod.xmlXPathNewNodeSet(self._o)
  4242.         if ret is None:
  4243.             raise xpathError('xmlXPathNewNodeSet() failed')
  4244.         ret is None
  4245.         return xpathObjectRet(ret)
  4246.  
  4247.     
  4248.     def xpathNewValueTree(self):
  4249.         '''Create a new xmlXPathObjectPtr of type Value Tree (XSLT)
  4250.            and initialize it with the tree root @val '''
  4251.         ret = libxml2mod.xmlXPathNewValueTree(self._o)
  4252.         if ret is None:
  4253.             raise xpathError('xmlXPathNewValueTree() failed')
  4254.         ret is None
  4255.         return xpathObjectRet(ret)
  4256.  
  4257.     
  4258.     def xpathNextAncestor(self, ctxt):
  4259.         '''Traversal function for the "ancestor" direction the
  4260.           ancestor axis contains the ancestors of the context node;
  4261.           the ancestors of the context node consist of the parent of
  4262.           context node and the parent\'s parent and so on; the nodes
  4263.           are ordered in reverse document order; thus the parent is
  4264.           the first node on the axis, and the parent\'s parent is the
  4265.            second node on the axis '''
  4266.         if ctxt is None:
  4267.             ctxt__o = None
  4268.         else:
  4269.             ctxt__o = ctxt._o
  4270.         ret = libxml2mod.xmlXPathNextAncestor(ctxt__o, self._o)
  4271.         if ret is None:
  4272.             raise xpathError('xmlXPathNextAncestor() failed')
  4273.         ret is None
  4274.         _xmlNode__tmp = xmlNode(_obj = ret)
  4275.         return _xmlNode__tmp
  4276.  
  4277.     
  4278.     def xpathNextAncestorOrSelf(self, ctxt):
  4279.         '''Traversal function for the "ancestor-or-self" direction he
  4280.           ancestor-or-self axis contains the context node and
  4281.           ancestors of the context node in reverse document order;
  4282.           thus the context node is the first node on the axis, and
  4283.           the context node\'s parent the second; parent here is
  4284.            defined the same as with the parent axis. '''
  4285.         if ctxt is None:
  4286.             ctxt__o = None
  4287.         else:
  4288.             ctxt__o = ctxt._o
  4289.         ret = libxml2mod.xmlXPathNextAncestorOrSelf(ctxt__o, self._o)
  4290.         if ret is None:
  4291.             raise xpathError('xmlXPathNextAncestorOrSelf() failed')
  4292.         ret is None
  4293.         _xmlNode__tmp = xmlNode(_obj = ret)
  4294.         return _xmlNode__tmp
  4295.  
  4296.     
  4297.     def xpathNextAttribute(self, ctxt):
  4298.         '''Traversal function for the "attribute" direction TODO:
  4299.            support DTD inherited default attributes '''
  4300.         if ctxt is None:
  4301.             ctxt__o = None
  4302.         else:
  4303.             ctxt__o = ctxt._o
  4304.         ret = libxml2mod.xmlXPathNextAttribute(ctxt__o, self._o)
  4305.         if ret is None:
  4306.             raise xpathError('xmlXPathNextAttribute() failed')
  4307.         ret is None
  4308.         _xmlNode__tmp = xmlNode(_obj = ret)
  4309.         return _xmlNode__tmp
  4310.  
  4311.     
  4312.     def xpathNextChild(self, ctxt):
  4313.         '''Traversal function for the "child" direction The child axis
  4314.           contains the children of the context node in document order. '''
  4315.         if ctxt is None:
  4316.             ctxt__o = None
  4317.         else:
  4318.             ctxt__o = ctxt._o
  4319.         ret = libxml2mod.xmlXPathNextChild(ctxt__o, self._o)
  4320.         if ret is None:
  4321.             raise xpathError('xmlXPathNextChild() failed')
  4322.         ret is None
  4323.         _xmlNode__tmp = xmlNode(_obj = ret)
  4324.         return _xmlNode__tmp
  4325.  
  4326.     
  4327.     def xpathNextDescendant(self, ctxt):
  4328.         '''Traversal function for the "descendant" direction the
  4329.           descendant axis contains the descendants of the context
  4330.           node in document order; a descendant is a child or a child
  4331.            of a child and so on. '''
  4332.         if ctxt is None:
  4333.             ctxt__o = None
  4334.         else:
  4335.             ctxt__o = ctxt._o
  4336.         ret = libxml2mod.xmlXPathNextDescendant(ctxt__o, self._o)
  4337.         if ret is None:
  4338.             raise xpathError('xmlXPathNextDescendant() failed')
  4339.         ret is None
  4340.         _xmlNode__tmp = xmlNode(_obj = ret)
  4341.         return _xmlNode__tmp
  4342.  
  4343.     
  4344.     def xpathNextDescendantOrSelf(self, ctxt):
  4345.         '''Traversal function for the "descendant-or-self" direction
  4346.           the descendant-or-self axis contains the context node and
  4347.           the descendants of the context node in document order; thus
  4348.           the context node is the first node on the axis, and the
  4349.           first child of the context node is the second node on the
  4350.            axis '''
  4351.         if ctxt is None:
  4352.             ctxt__o = None
  4353.         else:
  4354.             ctxt__o = ctxt._o
  4355.         ret = libxml2mod.xmlXPathNextDescendantOrSelf(ctxt__o, self._o)
  4356.         if ret is None:
  4357.             raise xpathError('xmlXPathNextDescendantOrSelf() failed')
  4358.         ret is None
  4359.         _xmlNode__tmp = xmlNode(_obj = ret)
  4360.         return _xmlNode__tmp
  4361.  
  4362.     
  4363.     def xpathNextFollowing(self, ctxt):
  4364.         '''Traversal function for the "following" direction The
  4365.           following axis contains all nodes in the same document as
  4366.           the context node that are after the context node in
  4367.           document order, excluding any descendants and excluding
  4368.           attribute nodes and namespace nodes; the nodes are ordered
  4369.            in document order '''
  4370.         if ctxt is None:
  4371.             ctxt__o = None
  4372.         else:
  4373.             ctxt__o = ctxt._o
  4374.         ret = libxml2mod.xmlXPathNextFollowing(ctxt__o, self._o)
  4375.         if ret is None:
  4376.             raise xpathError('xmlXPathNextFollowing() failed')
  4377.         ret is None
  4378.         _xmlNode__tmp = xmlNode(_obj = ret)
  4379.         return _xmlNode__tmp
  4380.  
  4381.     
  4382.     def xpathNextFollowingSibling(self, ctxt):
  4383.         '''Traversal function for the "following-sibling" direction
  4384.           The following-sibling axis contains the following siblings
  4385.            of the context node in document order. '''
  4386.         if ctxt is None:
  4387.             ctxt__o = None
  4388.         else:
  4389.             ctxt__o = ctxt._o
  4390.         ret = libxml2mod.xmlXPathNextFollowingSibling(ctxt__o, self._o)
  4391.         if ret is None:
  4392.             raise xpathError('xmlXPathNextFollowingSibling() failed')
  4393.         ret is None
  4394.         _xmlNode__tmp = xmlNode(_obj = ret)
  4395.         return _xmlNode__tmp
  4396.  
  4397.     
  4398.     def xpathNextNamespace(self, ctxt):
  4399.         '''Traversal function for the "namespace" direction the
  4400.           namespace axis contains the namespace nodes of the context
  4401.           node; the order of nodes on this axis is
  4402.           implementation-defined; the axis will be empty unless the
  4403.           context node is an element  We keep the XML namespace node
  4404.            at the end of the list. '''
  4405.         if ctxt is None:
  4406.             ctxt__o = None
  4407.         else:
  4408.             ctxt__o = ctxt._o
  4409.         ret = libxml2mod.xmlXPathNextNamespace(ctxt__o, self._o)
  4410.         if ret is None:
  4411.             raise xpathError('xmlXPathNextNamespace() failed')
  4412.         ret is None
  4413.         _xmlNode__tmp = xmlNode(_obj = ret)
  4414.         return _xmlNode__tmp
  4415.  
  4416.     
  4417.     def xpathNextParent(self, ctxt):
  4418.         '''Traversal function for the "parent" direction The parent
  4419.           axis contains the parent of the context node, if there is
  4420.            one. '''
  4421.         if ctxt is None:
  4422.             ctxt__o = None
  4423.         else:
  4424.             ctxt__o = ctxt._o
  4425.         ret = libxml2mod.xmlXPathNextParent(ctxt__o, self._o)
  4426.         if ret is None:
  4427.             raise xpathError('xmlXPathNextParent() failed')
  4428.         ret is None
  4429.         _xmlNode__tmp = xmlNode(_obj = ret)
  4430.         return _xmlNode__tmp
  4431.  
  4432.     
  4433.     def xpathNextPreceding(self, ctxt):
  4434.         '''Traversal function for the "preceding" direction the
  4435.           preceding axis contains all nodes in the same document as
  4436.           the context node that are before the context node in
  4437.           document order, excluding any ancestors and excluding
  4438.           attribute nodes and namespace nodes; the nodes are ordered
  4439.            in reverse document order '''
  4440.         if ctxt is None:
  4441.             ctxt__o = None
  4442.         else:
  4443.             ctxt__o = ctxt._o
  4444.         ret = libxml2mod.xmlXPathNextPreceding(ctxt__o, self._o)
  4445.         if ret is None:
  4446.             raise xpathError('xmlXPathNextPreceding() failed')
  4447.         ret is None
  4448.         _xmlNode__tmp = xmlNode(_obj = ret)
  4449.         return _xmlNode__tmp
  4450.  
  4451.     
  4452.     def xpathNextPrecedingSibling(self, ctxt):
  4453.         '''Traversal function for the "preceding-sibling" direction
  4454.           The preceding-sibling axis contains the preceding siblings
  4455.           of the context node in reverse document order; the first
  4456.           preceding sibling is first on the axis; the sibling
  4457.            preceding that node is the second on the axis and so on. '''
  4458.         if ctxt is None:
  4459.             ctxt__o = None
  4460.         else:
  4461.             ctxt__o = ctxt._o
  4462.         ret = libxml2mod.xmlXPathNextPrecedingSibling(ctxt__o, self._o)
  4463.         if ret is None:
  4464.             raise xpathError('xmlXPathNextPrecedingSibling() failed')
  4465.         ret is None
  4466.         _xmlNode__tmp = xmlNode(_obj = ret)
  4467.         return _xmlNode__tmp
  4468.  
  4469.     
  4470.     def xpathNextSelf(self, ctxt):
  4471.         '''Traversal function for the "self" direction The self axis
  4472.            contains just the context node itself '''
  4473.         if ctxt is None:
  4474.             ctxt__o = None
  4475.         else:
  4476.             ctxt__o = ctxt._o
  4477.         ret = libxml2mod.xmlXPathNextSelf(ctxt__o, self._o)
  4478.         if ret is None:
  4479.             raise xpathError('xmlXPathNextSelf() failed')
  4480.         ret is None
  4481.         _xmlNode__tmp = xmlNode(_obj = ret)
  4482.         return _xmlNode__tmp
  4483.  
  4484.     
  4485.     def xpointerNewCollapsedRange(self):
  4486.         '''Create a new xmlXPathObjectPtr of type range using a single
  4487.            nodes '''
  4488.         ret = libxml2mod.xmlXPtrNewCollapsedRange(self._o)
  4489.         if ret is None:
  4490.             raise treeError('xmlXPtrNewCollapsedRange() failed')
  4491.         ret is None
  4492.         return xpathObjectRet(ret)
  4493.  
  4494.     
  4495.     def xpointerNewContext(self, doc, origin):
  4496.         '''Create a new XPointer context '''
  4497.         if doc is None:
  4498.             doc__o = None
  4499.         else:
  4500.             doc__o = doc._o
  4501.         if origin is None:
  4502.             origin__o = None
  4503.         else:
  4504.             origin__o = origin._o
  4505.         ret = libxml2mod.xmlXPtrNewContext(doc__o, self._o, origin__o)
  4506.         if ret is None:
  4507.             raise treeError('xmlXPtrNewContext() failed')
  4508.         ret is None
  4509.         _xmlNode__tmp = xpathContext(_obj = ret)
  4510.         return _xmlNode__tmp
  4511.  
  4512.     
  4513.     def xpointerNewLocationSetNodes(self, end):
  4514.         '''Create a new xmlXPathObjectPtr of type LocationSet and
  4515.           initialize it with the single range made of the two nodes
  4516.            @start and @end '''
  4517.         if end is None:
  4518.             end__o = None
  4519.         else:
  4520.             end__o = end._o
  4521.         ret = libxml2mod.xmlXPtrNewLocationSetNodes(self._o, end__o)
  4522.         if ret is None:
  4523.             raise treeError('xmlXPtrNewLocationSetNodes() failed')
  4524.         ret is None
  4525.         return xpathObjectRet(ret)
  4526.  
  4527.     
  4528.     def xpointerNewRange(self, startindex, end, endindex):
  4529.         '''Create a new xmlXPathObjectPtr of type range '''
  4530.         if end is None:
  4531.             end__o = None
  4532.         else:
  4533.             end__o = end._o
  4534.         ret = libxml2mod.xmlXPtrNewRange(self._o, startindex, end__o, endindex)
  4535.         if ret is None:
  4536.             raise treeError('xmlXPtrNewRange() failed')
  4537.         ret is None
  4538.         return xpathObjectRet(ret)
  4539.  
  4540.     
  4541.     def xpointerNewRangeNodes(self, end):
  4542.         '''Create a new xmlXPathObjectPtr of type range using 2 nodes '''
  4543.         if end is None:
  4544.             end__o = None
  4545.         else:
  4546.             end__o = end._o
  4547.         ret = libxml2mod.xmlXPtrNewRangeNodes(self._o, end__o)
  4548.         if ret is None:
  4549.             raise treeError('xmlXPtrNewRangeNodes() failed')
  4550.         ret is None
  4551.         return xpathObjectRet(ret)
  4552.  
  4553.  
  4554.  
  4555. class xmlDoc(xmlNode):
  4556.     
  4557.     def __init__(self, _obj = None):
  4558.         if type(_obj).__name__ != 'PyCObject':
  4559.             raise TypeError, 'xmlDoc needs a PyCObject argument'
  4560.         type(_obj).__name__ != 'PyCObject'
  4561.         self._o = _obj
  4562.         xmlNode.__init__(self, _obj = _obj)
  4563.  
  4564.     
  4565.     def __repr__(self):
  4566.         return '<xmlDoc (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  4567.  
  4568.     
  4569.     def htmlAutoCloseTag(self, name, elem):
  4570.         """The HTML DTD allows a tag to implicitly close other tags.
  4571.           The list is kept in htmlStartClose array. This function
  4572.           checks if the element or one of it's children would
  4573.            autoclose the given tag. """
  4574.         ret = libxml2mod.htmlAutoCloseTag(self._o, name, elem)
  4575.         return ret
  4576.  
  4577.     
  4578.     def htmlIsAutoClosed(self, elem):
  4579.         """The HTML DTD allows a tag to implicitly close other tags.
  4580.           The list is kept in htmlStartClose array. This function
  4581.            checks if a tag is autoclosed by one of it's child """
  4582.         ret = libxml2mod.htmlIsAutoClosed(self._o, elem)
  4583.         return ret
  4584.  
  4585.     
  4586.     def htmlDocContentDumpFormatOutput(self, buf, encoding, format):
  4587.         '''Dump an HTML document. '''
  4588.         if buf is None:
  4589.             buf__o = None
  4590.         else:
  4591.             buf__o = buf._o
  4592.         libxml2mod.htmlDocContentDumpFormatOutput(buf__o, self._o, encoding, format)
  4593.  
  4594.     
  4595.     def htmlDocContentDumpOutput(self, buf, encoding):
  4596.         '''Dump an HTML document. Formating return/spaces are added. '''
  4597.         if buf is None:
  4598.             buf__o = None
  4599.         else:
  4600.             buf__o = buf._o
  4601.         libxml2mod.htmlDocContentDumpOutput(buf__o, self._o, encoding)
  4602.  
  4603.     
  4604.     def htmlDocDump(self, f):
  4605.         '''Dump an HTML document to an open FILE. '''
  4606.         ret = libxml2mod.htmlDocDump(f, self._o)
  4607.         return ret
  4608.  
  4609.     
  4610.     def htmlGetMetaEncoding(self):
  4611.         '''Encoding definition lookup in the Meta tags '''
  4612.         ret = libxml2mod.htmlGetMetaEncoding(self._o)
  4613.         return ret
  4614.  
  4615.     
  4616.     def htmlNodeDumpFile(self, out, cur):
  4617.         '''Dump an HTML node, recursive behaviour,children are printed
  4618.            too, and formatting returns are added. '''
  4619.         if cur is None:
  4620.             cur__o = None
  4621.         else:
  4622.             cur__o = cur._o
  4623.         libxml2mod.htmlNodeDumpFile(out, self._o, cur__o)
  4624.  
  4625.     
  4626.     def htmlNodeDumpFileFormat(self, out, cur, encoding, format):
  4627.         '''Dump an HTML node, recursive behaviour,children are printed
  4628.           too.  TODO: if encoding == None try to save in the doc
  4629.            encoding '''
  4630.         if cur is None:
  4631.             cur__o = None
  4632.         else:
  4633.             cur__o = cur._o
  4634.         ret = libxml2mod.htmlNodeDumpFileFormat(out, self._o, cur__o, encoding, format)
  4635.         return ret
  4636.  
  4637.     
  4638.     def htmlNodeDumpFormatOutput(self, buf, cur, encoding, format):
  4639.         '''Dump an HTML node, recursive behaviour,children are printed
  4640.            too. '''
  4641.         if buf is None:
  4642.             buf__o = None
  4643.         else:
  4644.             buf__o = buf._o
  4645.         if cur is None:
  4646.             cur__o = None
  4647.         else:
  4648.             cur__o = cur._o
  4649.         libxml2mod.htmlNodeDumpFormatOutput(buf__o, self._o, cur__o, encoding, format)
  4650.  
  4651.     
  4652.     def htmlNodeDumpOutput(self, buf, cur, encoding):
  4653.         '''Dump an HTML node, recursive behaviour,children are printed
  4654.            too, and formatting returns/spaces are added. '''
  4655.         if buf is None:
  4656.             buf__o = None
  4657.         else:
  4658.             buf__o = buf._o
  4659.         if cur is None:
  4660.             cur__o = None
  4661.         else:
  4662.             cur__o = cur._o
  4663.         libxml2mod.htmlNodeDumpOutput(buf__o, self._o, cur__o, encoding)
  4664.  
  4665.     
  4666.     def htmlSaveFile(self, filename):
  4667.         '''Dump an HTML document to a file. If @filename is "-" the
  4668.            stdout file is used. '''
  4669.         ret = libxml2mod.htmlSaveFile(filename, self._o)
  4670.         return ret
  4671.  
  4672.     
  4673.     def htmlSaveFileEnc(self, filename, encoding):
  4674.         '''Dump an HTML document to a file using a given encoding and
  4675.            formatting returns/spaces are added. '''
  4676.         ret = libxml2mod.htmlSaveFileEnc(filename, self._o, encoding)
  4677.         return ret
  4678.  
  4679.     
  4680.     def htmlSaveFileFormat(self, filename, encoding, format):
  4681.         '''Dump an HTML document to a file using a given encoding. '''
  4682.         ret = libxml2mod.htmlSaveFileFormat(filename, self._o, encoding, format)
  4683.         return ret
  4684.  
  4685.     
  4686.     def htmlSetMetaEncoding(self, encoding):
  4687.         '''Sets the current encoding in the Meta tags NOTE: this will
  4688.           not change the document content encoding, just the META
  4689.            flag associated. '''
  4690.         ret = libxml2mod.htmlSetMetaEncoding(self._o, encoding)
  4691.         return ret
  4692.  
  4693.     
  4694.     def debugCheckDocument(self, output):
  4695.         '''Check the document for potential content problems, and
  4696.            output the errors to @output '''
  4697.         ret = libxml2mod.xmlDebugCheckDocument(output, self._o)
  4698.         return ret
  4699.  
  4700.     
  4701.     def debugDumpDocument(self, output):
  4702.         """Dumps debug information for the document, it's recursive """
  4703.         libxml2mod.xmlDebugDumpDocument(output, self._o)
  4704.  
  4705.     
  4706.     def debugDumpDocumentHead(self, output):
  4707.         '''Dumps debug information cncerning the document, not
  4708.            recursive '''
  4709.         libxml2mod.xmlDebugDumpDocumentHead(output, self._o)
  4710.  
  4711.     
  4712.     def debugDumpEntities(self, output):
  4713.         '''Dumps debug information for all the entities in use by the
  4714.            document '''
  4715.         libxml2mod.xmlDebugDumpEntities(output, self._o)
  4716.  
  4717.     
  4718.     def addDocEntity(self, name, type, ExternalID, SystemID, content):
  4719.         '''Register a new entity for this document. '''
  4720.         ret = libxml2mod.xmlAddDocEntity(self._o, name, type, ExternalID, SystemID, content)
  4721.         if ret is None:
  4722.             raise treeError('xmlAddDocEntity() failed')
  4723.         ret is None
  4724.         _xmlDoc__tmp = xmlEntity(_obj = ret)
  4725.         return _xmlDoc__tmp
  4726.  
  4727.     
  4728.     def addDtdEntity(self, name, type, ExternalID, SystemID, content):
  4729.         '''Register a new entity for this document DTD external subset. '''
  4730.         ret = libxml2mod.xmlAddDtdEntity(self._o, name, type, ExternalID, SystemID, content)
  4731.         if ret is None:
  4732.             raise treeError('xmlAddDtdEntity() failed')
  4733.         ret is None
  4734.         _xmlDoc__tmp = xmlEntity(_obj = ret)
  4735.         return _xmlDoc__tmp
  4736.  
  4737.     
  4738.     def docEntity(self, name):
  4739.         '''Do an entity lookup in the document entity hash table and '''
  4740.         ret = libxml2mod.xmlGetDocEntity(self._o, name)
  4741.         if ret is None:
  4742.             raise treeError('xmlGetDocEntity() failed')
  4743.         ret is None
  4744.         _xmlDoc__tmp = xmlEntity(_obj = ret)
  4745.         return _xmlDoc__tmp
  4746.  
  4747.     
  4748.     def dtdEntity(self, name):
  4749.         '''Do an entity lookup in the DTD entity hash table and '''
  4750.         ret = libxml2mod.xmlGetDtdEntity(self._o, name)
  4751.         if ret is None:
  4752.             raise treeError('xmlGetDtdEntity() failed')
  4753.         ret is None
  4754.         _xmlDoc__tmp = xmlEntity(_obj = ret)
  4755.         return _xmlDoc__tmp
  4756.  
  4757.     
  4758.     def encodeEntities(self, input):
  4759.         '''TODO: remove xmlEncodeEntities, once we are not afraid of
  4760.           breaking binary compatibility  People must migrate their
  4761.           code to xmlEncodeEntitiesReentrant ! This routine will
  4762.            issue a warning when encountered. '''
  4763.         ret = libxml2mod.xmlEncodeEntities(self._o, input)
  4764.         return ret
  4765.  
  4766.     
  4767.     def encodeEntitiesReentrant(self, input):
  4768.         '''Do a global encoding of a string, replacing the predefined
  4769.           entities and non ASCII values with their entities and
  4770.           CharRef counterparts. Contrary to xmlEncodeEntities, this
  4771.            routine is reentrant, and result must be deallocated. '''
  4772.         ret = libxml2mod.xmlEncodeEntitiesReentrant(self._o, input)
  4773.         return ret
  4774.  
  4775.     
  4776.     def encodeSpecialChars(self, input):
  4777.         '''Do a global encoding of a string, replacing the predefined
  4778.           entities this routine is reentrant, and result must be
  4779.            deallocated. '''
  4780.         ret = libxml2mod.xmlEncodeSpecialChars(self._o, input)
  4781.         return ret
  4782.  
  4783.     
  4784.     def newEntity(self, name, type, ExternalID, SystemID, content):
  4785.         '''Create a new entity, this differs from xmlAddDocEntity()
  4786.           that if the document is None or has no internal subset
  4787.           defined, then an unlinked entity structure will be
  4788.           returned, it is then the responsability of the caller to
  4789.           link it to the document later or free it when not needed
  4790.            anymore. '''
  4791.         ret = libxml2mod.xmlNewEntity(self._o, name, type, ExternalID, SystemID, content)
  4792.         if ret is None:
  4793.             raise treeError('xmlNewEntity() failed')
  4794.         ret is None
  4795.         _xmlDoc__tmp = xmlEntity(_obj = ret)
  4796.         return _xmlDoc__tmp
  4797.  
  4798.     
  4799.     def parameterEntity(self, name):
  4800.         '''Do an entity lookup in the internal and external subsets and '''
  4801.         ret = libxml2mod.xmlGetParameterEntity(self._o, name)
  4802.         if ret is None:
  4803.             raise treeError('xmlGetParameterEntity() failed')
  4804.         ret is None
  4805.         _xmlDoc__tmp = xmlEntity(_obj = ret)
  4806.         return _xmlDoc__tmp
  4807.  
  4808.     
  4809.     def relaxNGNewDocParserCtxt(self):
  4810.         '''Create an XML RelaxNGs parser context for that document.
  4811.           Note: since the process of compiling a RelaxNG schemas
  4812.           modifies the document, the @doc parameter is duplicated
  4813.            internally. '''
  4814.         ret = libxml2mod.xmlRelaxNGNewDocParserCtxt(self._o)
  4815.         if ret is None:
  4816.             raise parserError('xmlRelaxNGNewDocParserCtxt() failed')
  4817.         ret is None
  4818.         _xmlDoc__tmp = relaxNgParserCtxt(_obj = ret)
  4819.         return _xmlDoc__tmp
  4820.  
  4821.     
  4822.     def relaxNGValidateDoc(self, ctxt):
  4823.         '''Validate a document tree in memory. '''
  4824.         if ctxt is None:
  4825.             ctxt__o = None
  4826.         else:
  4827.             ctxt__o = ctxt._o
  4828.         ret = libxml2mod.xmlRelaxNGValidateDoc(ctxt__o, self._o)
  4829.         return ret
  4830.  
  4831.     
  4832.     def relaxNGValidateFullElement(self, ctxt, elem):
  4833.         '''Validate a full subtree when
  4834.           xmlRelaxNGValidatePushElement() returned 0 and the content
  4835.            of the node has been expanded. '''
  4836.         if ctxt is None:
  4837.             ctxt__o = None
  4838.         else:
  4839.             ctxt__o = ctxt._o
  4840.         if elem is None:
  4841.             elem__o = None
  4842.         else:
  4843.             elem__o = elem._o
  4844.         ret = libxml2mod.xmlRelaxNGValidateFullElement(ctxt__o, self._o, elem__o)
  4845.         return ret
  4846.  
  4847.     
  4848.     def relaxNGValidatePopElement(self, ctxt, elem):
  4849.         '''Pop the element end from the RelaxNG validation stack. '''
  4850.         if ctxt is None:
  4851.             ctxt__o = None
  4852.         else:
  4853.             ctxt__o = ctxt._o
  4854.         if elem is None:
  4855.             elem__o = None
  4856.         else:
  4857.             elem__o = elem._o
  4858.         ret = libxml2mod.xmlRelaxNGValidatePopElement(ctxt__o, self._o, elem__o)
  4859.         return ret
  4860.  
  4861.     
  4862.     def relaxNGValidatePushElement(self, ctxt, elem):
  4863.         '''Push a new element start on the RelaxNG validation stack. '''
  4864.         if ctxt is None:
  4865.             ctxt__o = None
  4866.         else:
  4867.             ctxt__o = ctxt._o
  4868.         if elem is None:
  4869.             elem__o = None
  4870.         else:
  4871.             elem__o = elem._o
  4872.         ret = libxml2mod.xmlRelaxNGValidatePushElement(ctxt__o, self._o, elem__o)
  4873.         return ret
  4874.  
  4875.     
  4876.     def copyDoc(self, recursive):
  4877.         '''Do a copy of the document info. If recursive, the content
  4878.           tree will be copied too as well as DTD, namespaces and
  4879.            entities. '''
  4880.         ret = libxml2mod.xmlCopyDoc(self._o, recursive)
  4881.         if ret is None:
  4882.             raise treeError('xmlCopyDoc() failed')
  4883.         ret is None
  4884.         _xmlDoc__tmp = xmlDoc(_obj = ret)
  4885.         return _xmlDoc__tmp
  4886.  
  4887.     
  4888.     def copyNode(self, node, extended):
  4889.         '''Do a copy of the node to a given document. '''
  4890.         if node is None:
  4891.             node__o = None
  4892.         else:
  4893.             node__o = node._o
  4894.         ret = libxml2mod.xmlDocCopyNode(node__o, self._o, extended)
  4895.         if ret is None:
  4896.             raise treeError('xmlDocCopyNode() failed')
  4897.         ret is None
  4898.         _xmlDoc__tmp = xmlNode(_obj = ret)
  4899.         return _xmlDoc__tmp
  4900.  
  4901.     
  4902.     def copyNodeList(self, node):
  4903.         '''Do a recursive copy of the node list. '''
  4904.         if node is None:
  4905.             node__o = None
  4906.         else:
  4907.             node__o = node._o
  4908.         ret = libxml2mod.xmlDocCopyNodeList(self._o, node__o)
  4909.         if ret is None:
  4910.             raise treeError('xmlDocCopyNodeList() failed')
  4911.         ret is None
  4912.         _xmlDoc__tmp = xmlNode(_obj = ret)
  4913.         return _xmlDoc__tmp
  4914.  
  4915.     
  4916.     def createIntSubset(self, name, ExternalID, SystemID):
  4917.         '''Create the internal subset of a document '''
  4918.         ret = libxml2mod.xmlCreateIntSubset(self._o, name, ExternalID, SystemID)
  4919.         if ret is None:
  4920.             raise treeError('xmlCreateIntSubset() failed')
  4921.         ret is None
  4922.         _xmlDoc__tmp = xmlDtd(_obj = ret)
  4923.         return _xmlDoc__tmp
  4924.  
  4925.     
  4926.     def docCompressMode(self):
  4927.         '''get the compression ratio for a document, ZLIB based '''
  4928.         ret = libxml2mod.xmlGetDocCompressMode(self._o)
  4929.         return ret
  4930.  
  4931.     
  4932.     def dump(self, f):
  4933.         '''Dump an XML document to an open FILE. '''
  4934.         ret = libxml2mod.xmlDocDump(f, self._o)
  4935.         return ret
  4936.  
  4937.     
  4938.     def elemDump(self, f, cur):
  4939.         '''Dump an XML/HTML node, recursive behaviour, children are
  4940.            printed too. '''
  4941.         if cur is None:
  4942.             cur__o = None
  4943.         else:
  4944.             cur__o = cur._o
  4945.         libxml2mod.xmlElemDump(f, self._o, cur__o)
  4946.  
  4947.     
  4948.     def formatDump(self, f, format):
  4949.         '''Dump an XML document to an open FILE. '''
  4950.         ret = libxml2mod.xmlDocFormatDump(f, self._o, format)
  4951.         return ret
  4952.  
  4953.     
  4954.     def freeDoc(self):
  4955.         '''Free up all the structures used by a document, tree
  4956.            included. '''
  4957.         libxml2mod.xmlFreeDoc(self._o)
  4958.  
  4959.     
  4960.     def getRootElement(self):
  4961.         '''Get the root element of the document (doc->children is a
  4962.            list containing possibly comments, PIs, etc ...). '''
  4963.         ret = libxml2mod.xmlDocGetRootElement(self._o)
  4964.         if ret is None:
  4965.             raise treeError('xmlDocGetRootElement() failed')
  4966.         ret is None
  4967.         _xmlDoc__tmp = xmlNode(_obj = ret)
  4968.         return _xmlDoc__tmp
  4969.  
  4970.     
  4971.     def intSubset(self):
  4972.         '''Get the internal subset of a document '''
  4973.         ret = libxml2mod.xmlGetIntSubset(self._o)
  4974.         if ret is None:
  4975.             raise treeError('xmlGetIntSubset() failed')
  4976.         ret is None
  4977.         _xmlDoc__tmp = xmlDtd(_obj = ret)
  4978.         return _xmlDoc__tmp
  4979.  
  4980.     
  4981.     def newCDataBlock(self, content, len):
  4982.         '''Creation of a new node containing a CDATA block. '''
  4983.         ret = libxml2mod.xmlNewCDataBlock(self._o, content, len)
  4984.         if ret is None:
  4985.             raise treeError('xmlNewCDataBlock() failed')
  4986.         ret is None
  4987.         _xmlDoc__tmp = xmlNode(_obj = ret)
  4988.         return _xmlDoc__tmp
  4989.  
  4990.     
  4991.     def newCharRef(self, name):
  4992.         '''Creation of a new character reference node. '''
  4993.         ret = libxml2mod.xmlNewCharRef(self._o, name)
  4994.         if ret is None:
  4995.             raise treeError('xmlNewCharRef() failed')
  4996.         ret is None
  4997.         _xmlDoc__tmp = xmlNode(_obj = ret)
  4998.         return _xmlDoc__tmp
  4999.  
  5000.     
  5001.     def newDocComment(self, content):
  5002.         '''Creation of a new node containing a comment within a
  5003.            document. '''
  5004.         ret = libxml2mod.xmlNewDocComment(self._o, content)
  5005.         if ret is None:
  5006.             raise treeError('xmlNewDocComment() failed')
  5007.         ret is None
  5008.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5009.         return _xmlDoc__tmp
  5010.  
  5011.     
  5012.     def newDocFragment(self):
  5013.         '''Creation of a new Fragment node. '''
  5014.         ret = libxml2mod.xmlNewDocFragment(self._o)
  5015.         if ret is None:
  5016.             raise treeError('xmlNewDocFragment() failed')
  5017.         ret is None
  5018.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5019.         return _xmlDoc__tmp
  5020.  
  5021.     
  5022.     def newDocNode(self, ns, name, content):
  5023.         """Creation of a new node element within a document. @ns and
  5024.           @content are optional (None). NOTE: @content is supposed to
  5025.           be a piece of XML CDATA, so it allow entities references,
  5026.           but XML special chars need to be escaped first by using
  5027.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  5028.            don't need entities support. """
  5029.         if ns is None:
  5030.             ns__o = None
  5031.         else:
  5032.             ns__o = ns._o
  5033.         ret = libxml2mod.xmlNewDocNode(self._o, ns__o, name, content)
  5034.         if ret is None:
  5035.             raise treeError('xmlNewDocNode() failed')
  5036.         ret is None
  5037.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5038.         return _xmlDoc__tmp
  5039.  
  5040.     
  5041.     def newDocNodeEatName(self, ns, name, content):
  5042.         """Creation of a new node element within a document. @ns and
  5043.           @content are optional (None). NOTE: @content is supposed to
  5044.           be a piece of XML CDATA, so it allow entities references,
  5045.           but XML special chars need to be escaped first by using
  5046.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  5047.            don't need entities support. """
  5048.         if ns is None:
  5049.             ns__o = None
  5050.         else:
  5051.             ns__o = ns._o
  5052.         ret = libxml2mod.xmlNewDocNodeEatName(self._o, ns__o, name, content)
  5053.         if ret is None:
  5054.             raise treeError('xmlNewDocNodeEatName() failed')
  5055.         ret is None
  5056.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5057.         return _xmlDoc__tmp
  5058.  
  5059.     
  5060.     def newDocPI(self, name, content):
  5061.         '''Creation of a processing instruction element. '''
  5062.         ret = libxml2mod.xmlNewDocPI(self._o, name, content)
  5063.         if ret is None:
  5064.             raise treeError('xmlNewDocPI() failed')
  5065.         ret is None
  5066.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5067.         return _xmlDoc__tmp
  5068.  
  5069.     
  5070.     def newDocProp(self, name, value):
  5071.         '''Create a new property carried by a document. '''
  5072.         ret = libxml2mod.xmlNewDocProp(self._o, name, value)
  5073.         if ret is None:
  5074.             raise treeError('xmlNewDocProp() failed')
  5075.         ret is None
  5076.         _xmlDoc__tmp = xmlAttr(_obj = ret)
  5077.         return _xmlDoc__tmp
  5078.  
  5079.     
  5080.     def newDocRawNode(self, ns, name, content):
  5081.         '''Creation of a new node element within a document. @ns and
  5082.            @content are optional (None). '''
  5083.         if ns is None:
  5084.             ns__o = None
  5085.         else:
  5086.             ns__o = ns._o
  5087.         ret = libxml2mod.xmlNewDocRawNode(self._o, ns__o, name, content)
  5088.         if ret is None:
  5089.             raise treeError('xmlNewDocRawNode() failed')
  5090.         ret is None
  5091.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5092.         return _xmlDoc__tmp
  5093.  
  5094.     
  5095.     def newDocText(self, content):
  5096.         '''Creation of a new text node within a document. '''
  5097.         ret = libxml2mod.xmlNewDocText(self._o, content)
  5098.         if ret is None:
  5099.             raise treeError('xmlNewDocText() failed')
  5100.         ret is None
  5101.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5102.         return _xmlDoc__tmp
  5103.  
  5104.     
  5105.     def newDocTextLen(self, content, len):
  5106.         '''Creation of a new text node with an extra content length
  5107.            parameter. The text node pertain to a given document. '''
  5108.         ret = libxml2mod.xmlNewDocTextLen(self._o, content, len)
  5109.         if ret is None:
  5110.             raise treeError('xmlNewDocTextLen() failed')
  5111.         ret is None
  5112.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5113.         return _xmlDoc__tmp
  5114.  
  5115.     
  5116.     def newDtd(self, name, ExternalID, SystemID):
  5117.         '''Creation of a new DTD for the external subset. To create an
  5118.            internal subset, use xmlCreateIntSubset(). '''
  5119.         ret = libxml2mod.xmlNewDtd(self._o, name, ExternalID, SystemID)
  5120.         if ret is None:
  5121.             raise treeError('xmlNewDtd() failed')
  5122.         ret is None
  5123.         _xmlDoc__tmp = xmlDtd(_obj = ret)
  5124.         return _xmlDoc__tmp
  5125.  
  5126.     
  5127.     def newGlobalNs(self, href, prefix):
  5128.         '''Creation of a Namespace, the old way using PI and without
  5129.            scoping DEPRECATED !!! '''
  5130.         ret = libxml2mod.xmlNewGlobalNs(self._o, href, prefix)
  5131.         if ret is None:
  5132.             raise treeError('xmlNewGlobalNs() failed')
  5133.         ret is None
  5134.         _xmlDoc__tmp = xmlNs(_obj = ret)
  5135.         return _xmlDoc__tmp
  5136.  
  5137.     
  5138.     def newReference(self, name):
  5139.         '''Creation of a new reference node. '''
  5140.         ret = libxml2mod.xmlNewReference(self._o, name)
  5141.         if ret is None:
  5142.             raise treeError('xmlNewReference() failed')
  5143.         ret is None
  5144.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5145.         return _xmlDoc__tmp
  5146.  
  5147.     
  5148.     def nodeDumpOutput(self, buf, cur, level, format, encoding):
  5149.         '''Dump an XML node, recursive behaviour, children are printed
  5150.           too. Note that @format = 1 provide node indenting only if
  5151.           xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
  5152.            called '''
  5153.         if buf is None:
  5154.             buf__o = None
  5155.         else:
  5156.             buf__o = buf._o
  5157.         if cur is None:
  5158.             cur__o = None
  5159.         else:
  5160.             cur__o = cur._o
  5161.         libxml2mod.xmlNodeDumpOutput(buf__o, self._o, cur__o, level, format, encoding)
  5162.  
  5163.     
  5164.     def nodeGetBase(self, cur):
  5165.         '''Searches for the BASE URL. The code should work on both XML
  5166.           and HTML document even if base mechanisms are completely
  5167.           different. It returns the base as defined in RFC 2396
  5168.           sections 5.1.1. Base URI within Document Content and 5.1.2.
  5169.           Base URI from the Encapsulating Entity However it does not
  5170.           return the document base (5.1.3), use xmlDocumentGetBase()
  5171.            for this '''
  5172.         if cur is None:
  5173.             cur__o = None
  5174.         else:
  5175.             cur__o = cur._o
  5176.         ret = libxml2mod.xmlNodeGetBase(self._o, cur__o)
  5177.         return ret
  5178.  
  5179.     
  5180.     def nodeListGetRawString(self, list, inLine):
  5181.         """Builds the string equivalent to the text contained in the
  5182.           Node list made of TEXTs and ENTITY_REFs, contrary to
  5183.           xmlNodeListGetString() this function doesn't do any
  5184.            character encoding handling. """
  5185.         if list is None:
  5186.             list__o = None
  5187.         else:
  5188.             list__o = list._o
  5189.         ret = libxml2mod.xmlNodeListGetRawString(self._o, list__o, inLine)
  5190.         return ret
  5191.  
  5192.     
  5193.     def nodeListGetString(self, list, inLine):
  5194.         '''Build the string equivalent to the text contained in the
  5195.            Node list made of TEXTs and ENTITY_REFs '''
  5196.         if list is None:
  5197.             list__o = None
  5198.         else:
  5199.             list__o = list._o
  5200.         ret = libxml2mod.xmlNodeListGetString(self._o, list__o, inLine)
  5201.         return ret
  5202.  
  5203.     
  5204.     def reconciliateNs(self, tree):
  5205.         '''This function checks that all the namespaces declared
  5206.           within the given tree are properly declared. This is needed
  5207.           for example after Copy or Cut and then paste operations.
  5208.           The subtree may still hold pointers to namespace
  5209.           declarations outside the subtree or invalid/masked. As much
  5210.           as possible the function try to reuse the existing
  5211.           namespaces found in the new environment. If not possible
  5212.           the new namespaces are redeclared on @tree at the top of
  5213.            the given subtree. '''
  5214.         if tree is None:
  5215.             tree__o = None
  5216.         else:
  5217.             tree__o = tree._o
  5218.         ret = libxml2mod.xmlReconciliateNs(self._o, tree__o)
  5219.         return ret
  5220.  
  5221.     
  5222.     def saveFile(self, filename):
  5223.         '''Dump an XML document to a file. Will use compression if
  5224.           compiled in and enabled. If @filename is "-" the stdout
  5225.            file is used. '''
  5226.         ret = libxml2mod.xmlSaveFile(filename, self._o)
  5227.         return ret
  5228.  
  5229.     
  5230.     def saveFileEnc(self, filename, encoding):
  5231.         '''Dump an XML document, converting it to the given encoding '''
  5232.         ret = libxml2mod.xmlSaveFileEnc(filename, self._o, encoding)
  5233.         return ret
  5234.  
  5235.     
  5236.     def saveFileTo(self, buf, encoding):
  5237.         '''Dump an XML document to an I/O buffer. Warning ! This call
  5238.           xmlOutputBufferClose() on buf which is not available after
  5239.            this call. '''
  5240.         if buf is None:
  5241.             buf__o = None
  5242.         else:
  5243.             buf__o = buf._o
  5244.         ret = libxml2mod.xmlSaveFileTo(buf__o, self._o, encoding)
  5245.         return ret
  5246.  
  5247.     
  5248.     def saveFormatFile(self, filename, format):
  5249.         '''Dump an XML document to a file. Will use compression if
  5250.           compiled in and enabled. If @filename is "-" the stdout
  5251.           file is used. If @format is set then the document will be
  5252.           indented on output. Note that @format = 1 provide node
  5253.           indenting only if xmlIndentTreeOutput = 1 or
  5254.            xmlKeepBlanksDefault(0) was called '''
  5255.         ret = libxml2mod.xmlSaveFormatFile(filename, self._o, format)
  5256.         return ret
  5257.  
  5258.     
  5259.     def saveFormatFileEnc(self, filename, encoding, format):
  5260.         '''Dump an XML document to a file or an URL. '''
  5261.         ret = libxml2mod.xmlSaveFormatFileEnc(filename, self._o, encoding, format)
  5262.         return ret
  5263.  
  5264.     
  5265.     def saveFormatFileTo(self, buf, encoding, format):
  5266.         '''Dump an XML document to an I/O buffer. Warning ! This call
  5267.           xmlOutputBufferClose() on buf which is not available after
  5268.            this call. '''
  5269.         if buf is None:
  5270.             buf__o = None
  5271.         else:
  5272.             buf__o = buf._o
  5273.         ret = libxml2mod.xmlSaveFormatFileTo(buf__o, self._o, encoding, format)
  5274.         return ret
  5275.  
  5276.     
  5277.     def searchNs(self, node, nameSpace):
  5278.         """Search a Ns registered under a given name space for a
  5279.           document. recurse on the parents until it finds the defined
  5280.           namespace or return None otherwise. @nameSpace can be None,
  5281.           this is a search for the default namespace. We don't allow
  5282.           to cross entities boundaries. If you don't declare the
  5283.           namespace within those you will be in troubles !!! A
  5284.            warning is generated to cover this case. """
  5285.         if node is None:
  5286.             node__o = None
  5287.         else:
  5288.             node__o = node._o
  5289.         ret = libxml2mod.xmlSearchNs(self._o, node__o, nameSpace)
  5290.         if ret is None:
  5291.             raise treeError('xmlSearchNs() failed')
  5292.         ret is None
  5293.         _xmlDoc__tmp = xmlNs(_obj = ret)
  5294.         return _xmlDoc__tmp
  5295.  
  5296.     
  5297.     def searchNsByHref(self, node, href):
  5298.         '''Search a Ns aliasing a given URI. Recurse on the parents
  5299.           until it finds the defined namespace or return None
  5300.            otherwise. '''
  5301.         if node is None:
  5302.             node__o = None
  5303.         else:
  5304.             node__o = node._o
  5305.         ret = libxml2mod.xmlSearchNsByHref(self._o, node__o, href)
  5306.         if ret is None:
  5307.             raise treeError('xmlSearchNsByHref() failed')
  5308.         ret is None
  5309.         _xmlDoc__tmp = xmlNs(_obj = ret)
  5310.         return _xmlDoc__tmp
  5311.  
  5312.     
  5313.     def setDocCompressMode(self, mode):
  5314.         '''set the compression ratio for a document, ZLIB based
  5315.            Correct values: 0 (uncompressed) to 9 (max compression) '''
  5316.         libxml2mod.xmlSetDocCompressMode(self._o, mode)
  5317.  
  5318.     
  5319.     def setListDoc(self, list):
  5320.         '''update all nodes in the list to point to the right document '''
  5321.         if list is None:
  5322.             list__o = None
  5323.         else:
  5324.             list__o = list._o
  5325.         libxml2mod.xmlSetListDoc(list__o, self._o)
  5326.  
  5327.     
  5328.     def setRootElement(self, root):
  5329.         '''Set the root element of the document (doc->children is a
  5330.            list containing possibly comments, PIs, etc ...). '''
  5331.         if root is None:
  5332.             root__o = None
  5333.         else:
  5334.             root__o = root._o
  5335.         ret = libxml2mod.xmlDocSetRootElement(self._o, root__o)
  5336.         if ret is None:
  5337.             return None
  5338.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5339.         return _xmlDoc__tmp
  5340.  
  5341.     
  5342.     def setTreeDoc(self, tree):
  5343.         '''update all nodes under the tree to point to the right
  5344.            document '''
  5345.         if tree is None:
  5346.             tree__o = None
  5347.         else:
  5348.             tree__o = tree._o
  5349.         libxml2mod.xmlSetTreeDoc(tree__o, self._o)
  5350.  
  5351.     
  5352.     def stringGetNodeList(self, value):
  5353.         '''Parse the value string and build the node list associated.
  5354.            Should produce a flat tree with only TEXTs and ENTITY_REFs. '''
  5355.         ret = libxml2mod.xmlStringGetNodeList(self._o, value)
  5356.         if ret is None:
  5357.             raise treeError('xmlStringGetNodeList() failed')
  5358.         ret is None
  5359.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5360.         return _xmlDoc__tmp
  5361.  
  5362.     
  5363.     def stringLenGetNodeList(self, value, len):
  5364.         '''Parse the value string and build the node list associated.
  5365.            Should produce a flat tree with only TEXTs and ENTITY_REFs. '''
  5366.         ret = libxml2mod.xmlStringLenGetNodeList(self._o, value, len)
  5367.         if ret is None:
  5368.             raise treeError('xmlStringLenGetNodeList() failed')
  5369.         ret is None
  5370.         _xmlDoc__tmp = xmlNode(_obj = ret)
  5371.         return _xmlDoc__tmp
  5372.  
  5373.     
  5374.     def ID(self, ID):
  5375.         '''Search the attribute declaring the given ID '''
  5376.         ret = libxml2mod.xmlGetID(self._o, ID)
  5377.         if ret is None:
  5378.             raise treeError('xmlGetID() failed')
  5379.         ret is None
  5380.         _xmlDoc__tmp = xmlAttr(_obj = ret)
  5381.         return _xmlDoc__tmp
  5382.  
  5383.     
  5384.     def isID(self, elem, attr):
  5385.         '''Determine whether an attribute is of type ID. In case we
  5386.           have DTD(s) then this is done if DTD loading has been
  5387.           requested. In the case of HTML documents parsed with the
  5388.            HTML parser, then ID detection is done systematically. '''
  5389.         if elem is None:
  5390.             elem__o = None
  5391.         else:
  5392.             elem__o = elem._o
  5393.         if attr is None:
  5394.             attr__o = None
  5395.         else:
  5396.             attr__o = attr._o
  5397.         ret = libxml2mod.xmlIsID(self._o, elem__o, attr__o)
  5398.         return ret
  5399.  
  5400.     
  5401.     def isMixedElement(self, name):
  5402.         '''Search in the DtDs whether an element accept Mixed content
  5403.            (or ANY) basically if it is supposed to accept text childs '''
  5404.         ret = libxml2mod.xmlIsMixedElement(self._o, name)
  5405.         return ret
  5406.  
  5407.     
  5408.     def isRef(self, elem, attr):
  5409.         '''Determine whether an attribute is of type Ref. In case we
  5410.           have DTD(s) then this is simple, otherwise we use an
  5411.            heuristic: name Ref (upper or lowercase). '''
  5412.         if elem is None:
  5413.             elem__o = None
  5414.         else:
  5415.             elem__o = elem._o
  5416.         if attr is None:
  5417.             attr__o = None
  5418.         else:
  5419.             attr__o = attr._o
  5420.         ret = libxml2mod.xmlIsRef(self._o, elem__o, attr__o)
  5421.         return ret
  5422.  
  5423.     
  5424.     def removeID(self, attr):
  5425.         '''Remove the given attribute from the ID table maintained
  5426.            internally. '''
  5427.         if attr is None:
  5428.             attr__o = None
  5429.         else:
  5430.             attr__o = attr._o
  5431.         ret = libxml2mod.xmlRemoveID(self._o, attr__o)
  5432.         return ret
  5433.  
  5434.     
  5435.     def removeRef(self, attr):
  5436.         '''Remove the given attribute from the Ref table maintained
  5437.            internally. '''
  5438.         if attr is None:
  5439.             attr__o = None
  5440.         else:
  5441.             attr__o = attr._o
  5442.         ret = libxml2mod.xmlRemoveRef(self._o, attr__o)
  5443.         return ret
  5444.  
  5445.     
  5446.     def validCtxtNormalizeAttributeValue(self, ctxt, elem, name, value):
  5447.         '''Does the validation related extra step of the normalization
  5448.           of attribute values:  If the declared value is not CDATA,
  5449.           then the XML processor must further process the normalized
  5450.           attribute value by discarding any leading and trailing
  5451.           space (#x20) characters, and by replacing sequences of
  5452.           space (#x20) characters by single space (#x20) character. 
  5453.           Also  check VC: Standalone Document Declaration in P32, and
  5454.            update ctxt->valid accordingly '''
  5455.         if ctxt is None:
  5456.             ctxt__o = None
  5457.         else:
  5458.             ctxt__o = ctxt._o
  5459.         if elem is None:
  5460.             elem__o = None
  5461.         else:
  5462.             elem__o = elem._o
  5463.         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(ctxt__o, self._o, elem__o, name, value)
  5464.         return ret
  5465.  
  5466.     
  5467.     def validNormalizeAttributeValue(self, elem, name, value):
  5468.         '''Does the validation related extra step of the normalization
  5469.           of attribute values:  If the declared value is not CDATA,
  5470.           then the XML processor must further process the normalized
  5471.           attribute value by discarding any leading and trailing
  5472.           space (#x20) characters, and by replacing sequences of
  5473.            space (#x20) characters by single space (#x20) character. '''
  5474.         if elem is None:
  5475.             elem__o = None
  5476.         else:
  5477.             elem__o = elem._o
  5478.         ret = libxml2mod.xmlValidNormalizeAttributeValue(self._o, elem__o, name, value)
  5479.         return ret
  5480.  
  5481.     
  5482.     def validateDocument(self, ctxt):
  5483.         '''Try to validate the document instance  basically it does
  5484.           the all the checks described by the XML Rec i.e. validates
  5485.           the internal and external subset (if present) and validate
  5486.            the document tree. '''
  5487.         if ctxt is None:
  5488.             ctxt__o = None
  5489.         else:
  5490.             ctxt__o = ctxt._o
  5491.         ret = libxml2mod.xmlValidateDocument(ctxt__o, self._o)
  5492.         return ret
  5493.  
  5494.     
  5495.     def validateDocumentFinal(self, ctxt):
  5496.         '''Does the final step for the document validation once all
  5497.           the incremental validation steps have been completed 
  5498.           basically it does the following checks described by the XML
  5499.           Rec  Check all the IDREF/IDREFS attributes definition for
  5500.            validity '''
  5501.         if ctxt is None:
  5502.             ctxt__o = None
  5503.         else:
  5504.             ctxt__o = ctxt._o
  5505.         ret = libxml2mod.xmlValidateDocumentFinal(ctxt__o, self._o)
  5506.         return ret
  5507.  
  5508.     
  5509.     def validateDtd(self, ctxt, dtd):
  5510.         '''Try to validate the document against the dtd instance 
  5511.           Basically it does check all the definitions in the DtD.
  5512.           Note the the internal subset (if present) is de-coupled
  5513.           (i.e. not used), which could give problems if ID or IDREF
  5514.            is present. '''
  5515.         if ctxt is None:
  5516.             ctxt__o = None
  5517.         else:
  5518.             ctxt__o = ctxt._o
  5519.         if dtd is None:
  5520.             dtd__o = None
  5521.         else:
  5522.             dtd__o = dtd._o
  5523.         ret = libxml2mod.xmlValidateDtd(ctxt__o, self._o, dtd__o)
  5524.         return ret
  5525.  
  5526.     
  5527.     def validateDtdFinal(self, ctxt):
  5528.         '''Does the final step for the dtds validation once all the
  5529.           subsets have been parsed  basically it does the following
  5530.           checks described by the XML Rec - check that ENTITY and
  5531.           ENTITIES type attributes default or possible values matches
  5532.           one of the defined entities. - check that NOTATION type
  5533.           attributes default or possible values matches one of the
  5534.            defined notations. '''
  5535.         if ctxt is None:
  5536.             ctxt__o = None
  5537.         else:
  5538.             ctxt__o = ctxt._o
  5539.         ret = libxml2mod.xmlValidateDtdFinal(ctxt__o, self._o)
  5540.         return ret
  5541.  
  5542.     
  5543.     def validateElement(self, ctxt, elem):
  5544.         '''Try to validate the subtree under an element '''
  5545.         if ctxt is None:
  5546.             ctxt__o = None
  5547.         else:
  5548.             ctxt__o = ctxt._o
  5549.         if elem is None:
  5550.             elem__o = None
  5551.         else:
  5552.             elem__o = elem._o
  5553.         ret = libxml2mod.xmlValidateElement(ctxt__o, self._o, elem__o)
  5554.         return ret
  5555.  
  5556.     
  5557.     def validateNotationUse(self, ctxt, notationName):
  5558.         '''Validate that the given name match a notation declaration.
  5559.            - [ VC: Notation Declared ] '''
  5560.         if ctxt is None:
  5561.             ctxt__o = None
  5562.         else:
  5563.             ctxt__o = ctxt._o
  5564.         ret = libxml2mod.xmlValidateNotationUse(ctxt__o, self._o, notationName)
  5565.         return ret
  5566.  
  5567.     
  5568.     def validateOneAttribute(self, ctxt, elem, attr, value):
  5569.         '''Try to validate a single attribute for an element basically
  5570.           it does the following checks as described by the XML-1.0
  5571.           recommendation: - [ VC: Attribute Value Type ] - [ VC:
  5572.           Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
  5573.           Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
  5574.           Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  5575.            uniqueness and matching are done separately '''
  5576.         if ctxt is None:
  5577.             ctxt__o = None
  5578.         else:
  5579.             ctxt__o = ctxt._o
  5580.         if elem is None:
  5581.             elem__o = None
  5582.         else:
  5583.             elem__o = elem._o
  5584.         if attr is None:
  5585.             attr__o = None
  5586.         else:
  5587.             attr__o = attr._o
  5588.         ret = libxml2mod.xmlValidateOneAttribute(ctxt__o, self._o, elem__o, attr__o, value)
  5589.         return ret
  5590.  
  5591.     
  5592.     def validateOneElement(self, ctxt, elem):
  5593.         """Try to validate a single element and it's attributes,
  5594.           basically it does the following checks as described by the
  5595.           XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
  5596.           Required Attribute ] Then call xmlValidateOneAttribute()
  5597.           for each attribute present.  The ID/IDREF checkings are
  5598.            done separately """
  5599.         if ctxt is None:
  5600.             ctxt__o = None
  5601.         else:
  5602.             ctxt__o = ctxt._o
  5603.         if elem is None:
  5604.             elem__o = None
  5605.         else:
  5606.             elem__o = elem._o
  5607.         ret = libxml2mod.xmlValidateOneElement(ctxt__o, self._o, elem__o)
  5608.         return ret
  5609.  
  5610.     
  5611.     def validateOneNamespace(self, ctxt, elem, prefix, ns, value):
  5612.         '''Try to validate a single namespace declaration for an
  5613.           element basically it does the following checks as described
  5614.           by the XML-1.0 recommendation: - [ VC: Attribute Value Type
  5615.           ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
  5616.           [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
  5617.           Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  5618.            uniqueness and matching are done separately '''
  5619.         if ctxt is None:
  5620.             ctxt__o = None
  5621.         else:
  5622.             ctxt__o = ctxt._o
  5623.         if elem is None:
  5624.             elem__o = None
  5625.         else:
  5626.             elem__o = elem._o
  5627.         if ns is None:
  5628.             ns__o = None
  5629.         else:
  5630.             ns__o = ns._o
  5631.         ret = libxml2mod.xmlValidateOneNamespace(ctxt__o, self._o, elem__o, prefix, ns__o, value)
  5632.         return ret
  5633.  
  5634.     
  5635.     def validatePopElement(self, ctxt, elem, qname):
  5636.         '''Pop the element end from the validation stack. '''
  5637.         if ctxt is None:
  5638.             ctxt__o = None
  5639.         else:
  5640.             ctxt__o = ctxt._o
  5641.         if elem is None:
  5642.             elem__o = None
  5643.         else:
  5644.             elem__o = elem._o
  5645.         ret = libxml2mod.xmlValidatePopElement(ctxt__o, self._o, elem__o, qname)
  5646.         return ret
  5647.  
  5648.     
  5649.     def validatePushElement(self, ctxt, elem, qname):
  5650.         '''Push a new element start on the validation stack. '''
  5651.         if ctxt is None:
  5652.             ctxt__o = None
  5653.         else:
  5654.             ctxt__o = ctxt._o
  5655.         if elem is None:
  5656.             elem__o = None
  5657.         else:
  5658.             elem__o = elem._o
  5659.         ret = libxml2mod.xmlValidatePushElement(ctxt__o, self._o, elem__o, qname)
  5660.         return ret
  5661.  
  5662.     
  5663.     def validateRoot(self, ctxt):
  5664.         """Try to validate a the root element basically it does the
  5665.           following check as described by the XML-1.0 recommendation:
  5666.           - [ VC: Root Element Type ] it doesn't try to recurse or
  5667.            apply other check to the element """
  5668.         if ctxt is None:
  5669.             ctxt__o = None
  5670.         else:
  5671.             ctxt__o = ctxt._o
  5672.         ret = libxml2mod.xmlValidateRoot(ctxt__o, self._o)
  5673.         return ret
  5674.  
  5675.     
  5676.     def xincludeProcess(self):
  5677.         '''Implement the XInclude substitution on the XML document @doc '''
  5678.         ret = libxml2mod.xmlXIncludeProcess(self._o)
  5679.         return ret
  5680.  
  5681.     
  5682.     def xincludeProcessFlags(self, flags):
  5683.         '''Implement the XInclude substitution on the XML document @doc '''
  5684.         ret = libxml2mod.xmlXIncludeProcessFlags(self._o, flags)
  5685.         return ret
  5686.  
  5687.     
  5688.     def NewWalker(self, reader):
  5689.         '''Setup an xmltextReader to parse a preparsed XML document.
  5690.            This reuses the existing @reader xmlTextReader. '''
  5691.         if reader is None:
  5692.             reader__o = None
  5693.         else:
  5694.             reader__o = reader._o
  5695.         ret = libxml2mod.xmlReaderNewWalker(reader__o, self._o)
  5696.         return ret
  5697.  
  5698.     
  5699.     def readerWalker(self):
  5700.         '''Create an xmltextReader for a preparsed document. '''
  5701.         ret = libxml2mod.xmlReaderWalker(self._o)
  5702.         if ret is None:
  5703.             raise treeError('xmlReaderWalker() failed')
  5704.         ret is None
  5705.         _xmlDoc__tmp = xmlTextReader(_obj = ret)
  5706.         return _xmlDoc__tmp
  5707.  
  5708.     
  5709.     def schemaNewDocParserCtxt(self):
  5710.         '''Create an XML Schemas parse context for that document. NB.
  5711.            The document may be modified during the parsing process. '''
  5712.         ret = libxml2mod.xmlSchemaNewDocParserCtxt(self._o)
  5713.         if ret is None:
  5714.             raise parserError('xmlSchemaNewDocParserCtxt() failed')
  5715.         ret is None
  5716.         _xmlDoc__tmp = SchemaParserCtxt(_obj = ret)
  5717.         return _xmlDoc__tmp
  5718.  
  5719.     
  5720.     def schemaValidateDoc(self, ctxt):
  5721.         '''Validate a document tree in memory. '''
  5722.         if ctxt is None:
  5723.             ctxt__o = None
  5724.         else:
  5725.             ctxt__o = ctxt._o
  5726.         ret = libxml2mod.xmlSchemaValidateDoc(ctxt__o, self._o)
  5727.         return ret
  5728.  
  5729.     
  5730.     def xpathNewContext(self):
  5731.         '''Create a new xmlXPathContext '''
  5732.         ret = libxml2mod.xmlXPathNewContext(self._o)
  5733.         if ret is None:
  5734.             raise xpathError('xmlXPathNewContext() failed')
  5735.         ret is None
  5736.         _xmlDoc__tmp = xpathContext(_obj = ret)
  5737.         return _xmlDoc__tmp
  5738.  
  5739.     
  5740.     def xpathOrderDocElems(self):
  5741.         '''Call this routine to speed up XPath computation on static
  5742.           documents. This stamps all the element nodes with the
  5743.           document order Like for line information, the order is kept
  5744.           in the element->content field, the value stored is actually
  5745.           - the node number (starting at -1) to be able to
  5746.            differentiate from line numbers. '''
  5747.         ret = libxml2mod.xmlXPathOrderDocElems(self._o)
  5748.         return ret
  5749.  
  5750.     
  5751.     def xpointerNewContext(self, here, origin):
  5752.         '''Create a new XPointer context '''
  5753.         if here is None:
  5754.             here__o = None
  5755.         else:
  5756.             here__o = here._o
  5757.         if origin is None:
  5758.             origin__o = None
  5759.         else:
  5760.             origin__o = origin._o
  5761.         ret = libxml2mod.xmlXPtrNewContext(self._o, here__o, origin__o)
  5762.         if ret is None:
  5763.             raise treeError('xmlXPtrNewContext() failed')
  5764.         ret is None
  5765.         _xmlDoc__tmp = xpathContext(_obj = ret)
  5766.         return _xmlDoc__tmp
  5767.  
  5768.  
  5769.  
  5770. class xpathContext:
  5771.     
  5772.     def __init__(self, _obj = None):
  5773.         if _obj != None:
  5774.             self._o = _obj
  5775.             return None
  5776.         self._o = None
  5777.  
  5778.     
  5779.     def contextDoc(self):
  5780.         '''Get the doc from an xpathContext '''
  5781.         ret = libxml2mod.xmlXPathGetContextDoc(self._o)
  5782.         if ret is None:
  5783.             raise xpathError('xmlXPathGetContextDoc() failed')
  5784.         ret is None
  5785.         _xpathContext__tmp = xmlDoc(_obj = ret)
  5786.         return _xpathContext__tmp
  5787.  
  5788.     
  5789.     def contextNode(self):
  5790.         '''Get the current node from an xpathContext '''
  5791.         ret = libxml2mod.xmlXPathGetContextNode(self._o)
  5792.         if ret is None:
  5793.             raise xpathError('xmlXPathGetContextNode() failed')
  5794.         ret is None
  5795.         _xpathContext__tmp = xmlNode(_obj = ret)
  5796.         return _xpathContext__tmp
  5797.  
  5798.     
  5799.     def contextPosition(self):
  5800.         '''Get the current node from an xpathContext '''
  5801.         ret = libxml2mod.xmlXPathGetContextPosition(self._o)
  5802.         return ret
  5803.  
  5804.     
  5805.     def contextSize(self):
  5806.         '''Get the current node from an xpathContext '''
  5807.         ret = libxml2mod.xmlXPathGetContextSize(self._o)
  5808.         return ret
  5809.  
  5810.     
  5811.     def function(self):
  5812.         '''Get the current function name xpathContext '''
  5813.         ret = libxml2mod.xmlXPathGetFunction(self._o)
  5814.         return ret
  5815.  
  5816.     
  5817.     def functionURI(self):
  5818.         '''Get the current function name URI xpathContext '''
  5819.         ret = libxml2mod.xmlXPathGetFunctionURI(self._o)
  5820.         return ret
  5821.  
  5822.     
  5823.     def setContextDoc(self, doc):
  5824.         '''Set the doc of an xpathContext '''
  5825.         if doc is None:
  5826.             doc__o = None
  5827.         else:
  5828.             doc__o = doc._o
  5829.         libxml2mod.xmlXPathSetContextDoc(self._o, doc__o)
  5830.  
  5831.     
  5832.     def setContextNode(self, node):
  5833.         '''Set the current node of an xpathContext '''
  5834.         if node is None:
  5835.             node__o = None
  5836.         else:
  5837.             node__o = node._o
  5838.         libxml2mod.xmlXPathSetContextNode(self._o, node__o)
  5839.  
  5840.     
  5841.     def registerXPathFunction(self, name, ns_uri, f):
  5842.         '''Register a Python written function to the XPath interpreter '''
  5843.         ret = libxml2mod.xmlRegisterXPathFunction(self._o, name, ns_uri, f)
  5844.         return ret
  5845.  
  5846.     
  5847.     def xpathContextSetCache(self, active, value, options):
  5848.         '''Creates/frees an object cache on the XPath context. If
  5849.           activates XPath objects (xmlXPathObject) will be cached
  5850.           internally to be reused. @options: 0: This will set the
  5851.           XPath object caching: @value: This will set the maximum
  5852.           number of XPath objects to be cached per slot There are 5
  5853.           slots for: node-set, string, number, boolean, and misc
  5854.           objects. Use <0 for the default number (100). Other values
  5855.            for @options have currently no effect. '''
  5856.         ret = libxml2mod.xmlXPathContextSetCache(self._o, active, value, options)
  5857.         return ret
  5858.  
  5859.     
  5860.     def xpathEval(self, str):
  5861.         '''Evaluate the XPath Location Path in the given context. '''
  5862.         ret = libxml2mod.xmlXPathEval(str, self._o)
  5863.         if ret is None:
  5864.             raise xpathError('xmlXPathEval() failed')
  5865.         ret is None
  5866.         return xpathObjectRet(ret)
  5867.  
  5868.     
  5869.     def xpathEvalExpression(self, str):
  5870.         '''Evaluate the XPath expression in the given context. '''
  5871.         ret = libxml2mod.xmlXPathEvalExpression(str, self._o)
  5872.         if ret is None:
  5873.             raise xpathError('xmlXPathEvalExpression() failed')
  5874.         ret is None
  5875.         return xpathObjectRet(ret)
  5876.  
  5877.     
  5878.     def xpathFreeContext(self):
  5879.         '''Free up an xmlXPathContext '''
  5880.         libxml2mod.xmlXPathFreeContext(self._o)
  5881.  
  5882.     
  5883.     def xpathNewParserContext(self, str):
  5884.         '''Create a new xmlXPathParserContext '''
  5885.         ret = libxml2mod.xmlXPathNewParserContext(str, self._o)
  5886.         if ret is None:
  5887.             raise xpathError('xmlXPathNewParserContext() failed')
  5888.         ret is None
  5889.         _xpathContext__tmp = xpathParserContext(_obj = ret)
  5890.         return _xpathContext__tmp
  5891.  
  5892.     
  5893.     def xpathNsLookup(self, prefix):
  5894.         '''Search in the namespace declaration array of the context
  5895.            for the given namespace name associated to the given prefix '''
  5896.         ret = libxml2mod.xmlXPathNsLookup(self._o, prefix)
  5897.         return ret
  5898.  
  5899.     
  5900.     def xpathRegisterAllFunctions(self):
  5901.         '''Registers all default XPath functions in this context '''
  5902.         libxml2mod.xmlXPathRegisterAllFunctions(self._o)
  5903.  
  5904.     
  5905.     def xpathRegisterNs(self, prefix, ns_uri):
  5906.         '''Register a new namespace. If @ns_uri is None it unregisters
  5907.            the namespace '''
  5908.         ret = libxml2mod.xmlXPathRegisterNs(self._o, prefix, ns_uri)
  5909.         return ret
  5910.  
  5911.     
  5912.     def xpathRegisteredFuncsCleanup(self):
  5913.         '''Cleanup the XPath context data associated to registered
  5914.            functions '''
  5915.         libxml2mod.xmlXPathRegisteredFuncsCleanup(self._o)
  5916.  
  5917.     
  5918.     def xpathRegisteredNsCleanup(self):
  5919.         '''Cleanup the XPath context data associated to registered
  5920.            variables '''
  5921.         libxml2mod.xmlXPathRegisteredNsCleanup(self._o)
  5922.  
  5923.     
  5924.     def xpathRegisteredVariablesCleanup(self):
  5925.         '''Cleanup the XPath context data associated to registered
  5926.            variables '''
  5927.         libxml2mod.xmlXPathRegisteredVariablesCleanup(self._o)
  5928.  
  5929.     
  5930.     def xpathVariableLookup(self, name):
  5931.         '''Search in the Variable array of the context for the given
  5932.            variable value. '''
  5933.         ret = libxml2mod.xmlXPathVariableLookup(self._o, name)
  5934.         if ret is None:
  5935.             raise xpathError('xmlXPathVariableLookup() failed')
  5936.         ret is None
  5937.         return xpathObjectRet(ret)
  5938.  
  5939.     
  5940.     def xpathVariableLookupNS(self, name, ns_uri):
  5941.         '''Search in the Variable array of the context for the given
  5942.            variable value. '''
  5943.         ret = libxml2mod.xmlXPathVariableLookupNS(self._o, name, ns_uri)
  5944.         if ret is None:
  5945.             raise xpathError('xmlXPathVariableLookupNS() failed')
  5946.         ret is None
  5947.         return xpathObjectRet(ret)
  5948.  
  5949.     
  5950.     def xpointerEval(self, str):
  5951.         '''Evaluate the XPath Location Path in the given context. '''
  5952.         ret = libxml2mod.xmlXPtrEval(str, self._o)
  5953.         if ret is None:
  5954.             raise treeError('xmlXPtrEval() failed')
  5955.         ret is None
  5956.         return xpathObjectRet(ret)
  5957.  
  5958.  
  5959.  
  5960. class xmlAttribute(xmlNode):
  5961.     
  5962.     def __init__(self, _obj = None):
  5963.         if type(_obj).__name__ != 'PyCObject':
  5964.             raise TypeError, 'xmlAttribute needs a PyCObject argument'
  5965.         type(_obj).__name__ != 'PyCObject'
  5966.         self._o = _obj
  5967.         xmlNode.__init__(self, _obj = _obj)
  5968.  
  5969.     
  5970.     def __repr__(self):
  5971.         return '<xmlAttribute (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  5972.  
  5973.  
  5974.  
  5975. class ValidCtxt(ValidCtxtCore):
  5976.     
  5977.     def __init__(self, _obj = None):
  5978.         self._o = _obj
  5979.         ValidCtxtCore.__init__(self, _obj = _obj)
  5980.  
  5981.     
  5982.     def __del__(self):
  5983.         if self._o != None:
  5984.             libxml2mod.xmlFreeValidCtxt(self._o)
  5985.         
  5986.         self._o = None
  5987.  
  5988.     
  5989.     def validCtxtNormalizeAttributeValue(self, doc, elem, name, value):
  5990.         '''Does the validation related extra step of the normalization
  5991.           of attribute values:  If the declared value is not CDATA,
  5992.           then the XML processor must further process the normalized
  5993.           attribute value by discarding any leading and trailing
  5994.           space (#x20) characters, and by replacing sequences of
  5995.           space (#x20) characters by single space (#x20) character. 
  5996.           Also  check VC: Standalone Document Declaration in P32, and
  5997.            update ctxt->valid accordingly '''
  5998.         if doc is None:
  5999.             doc__o = None
  6000.         else:
  6001.             doc__o = doc._o
  6002.         if elem is None:
  6003.             elem__o = None
  6004.         else:
  6005.             elem__o = elem._o
  6006.         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(self._o, doc__o, elem__o, name, value)
  6007.         return ret
  6008.  
  6009.     
  6010.     def validateDocument(self, doc):
  6011.         '''Try to validate the document instance  basically it does
  6012.           the all the checks described by the XML Rec i.e. validates
  6013.           the internal and external subset (if present) and validate
  6014.            the document tree. '''
  6015.         if doc is None:
  6016.             doc__o = None
  6017.         else:
  6018.             doc__o = doc._o
  6019.         ret = libxml2mod.xmlValidateDocument(self._o, doc__o)
  6020.         return ret
  6021.  
  6022.     
  6023.     def validateDocumentFinal(self, doc):
  6024.         '''Does the final step for the document validation once all
  6025.           the incremental validation steps have been completed 
  6026.           basically it does the following checks described by the XML
  6027.           Rec  Check all the IDREF/IDREFS attributes definition for
  6028.            validity '''
  6029.         if doc is None:
  6030.             doc__o = None
  6031.         else:
  6032.             doc__o = doc._o
  6033.         ret = libxml2mod.xmlValidateDocumentFinal(self._o, doc__o)
  6034.         return ret
  6035.  
  6036.     
  6037.     def validateDtd(self, doc, dtd):
  6038.         '''Try to validate the document against the dtd instance 
  6039.           Basically it does check all the definitions in the DtD.
  6040.           Note the the internal subset (if present) is de-coupled
  6041.           (i.e. not used), which could give problems if ID or IDREF
  6042.            is present. '''
  6043.         if doc is None:
  6044.             doc__o = None
  6045.         else:
  6046.             doc__o = doc._o
  6047.         if dtd is None:
  6048.             dtd__o = None
  6049.         else:
  6050.             dtd__o = dtd._o
  6051.         ret = libxml2mod.xmlValidateDtd(self._o, doc__o, dtd__o)
  6052.         return ret
  6053.  
  6054.     
  6055.     def validateDtdFinal(self, doc):
  6056.         '''Does the final step for the dtds validation once all the
  6057.           subsets have been parsed  basically it does the following
  6058.           checks described by the XML Rec - check that ENTITY and
  6059.           ENTITIES type attributes default or possible values matches
  6060.           one of the defined entities. - check that NOTATION type
  6061.           attributes default or possible values matches one of the
  6062.            defined notations. '''
  6063.         if doc is None:
  6064.             doc__o = None
  6065.         else:
  6066.             doc__o = doc._o
  6067.         ret = libxml2mod.xmlValidateDtdFinal(self._o, doc__o)
  6068.         return ret
  6069.  
  6070.     
  6071.     def validateElement(self, doc, elem):
  6072.         '''Try to validate the subtree under an element '''
  6073.         if doc is None:
  6074.             doc__o = None
  6075.         else:
  6076.             doc__o = doc._o
  6077.         if elem is None:
  6078.             elem__o = None
  6079.         else:
  6080.             elem__o = elem._o
  6081.         ret = libxml2mod.xmlValidateElement(self._o, doc__o, elem__o)
  6082.         return ret
  6083.  
  6084.     
  6085.     def validateNotationUse(self, doc, notationName):
  6086.         '''Validate that the given name match a notation declaration.
  6087.            - [ VC: Notation Declared ] '''
  6088.         if doc is None:
  6089.             doc__o = None
  6090.         else:
  6091.             doc__o = doc._o
  6092.         ret = libxml2mod.xmlValidateNotationUse(self._o, doc__o, notationName)
  6093.         return ret
  6094.  
  6095.     
  6096.     def validateOneAttribute(self, doc, elem, attr, value):
  6097.         '''Try to validate a single attribute for an element basically
  6098.           it does the following checks as described by the XML-1.0
  6099.           recommendation: - [ VC: Attribute Value Type ] - [ VC:
  6100.           Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
  6101.           Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
  6102.           Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  6103.            uniqueness and matching are done separately '''
  6104.         if doc is None:
  6105.             doc__o = None
  6106.         else:
  6107.             doc__o = doc._o
  6108.         if elem is None:
  6109.             elem__o = None
  6110.         else:
  6111.             elem__o = elem._o
  6112.         if attr is None:
  6113.             attr__o = None
  6114.         else:
  6115.             attr__o = attr._o
  6116.         ret = libxml2mod.xmlValidateOneAttribute(self._o, doc__o, elem__o, attr__o, value)
  6117.         return ret
  6118.  
  6119.     
  6120.     def validateOneElement(self, doc, elem):
  6121.         """Try to validate a single element and it's attributes,
  6122.           basically it does the following checks as described by the
  6123.           XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
  6124.           Required Attribute ] Then call xmlValidateOneAttribute()
  6125.           for each attribute present.  The ID/IDREF checkings are
  6126.            done separately """
  6127.         if doc is None:
  6128.             doc__o = None
  6129.         else:
  6130.             doc__o = doc._o
  6131.         if elem is None:
  6132.             elem__o = None
  6133.         else:
  6134.             elem__o = elem._o
  6135.         ret = libxml2mod.xmlValidateOneElement(self._o, doc__o, elem__o)
  6136.         return ret
  6137.  
  6138.     
  6139.     def validateOneNamespace(self, doc, elem, prefix, ns, value):
  6140.         '''Try to validate a single namespace declaration for an
  6141.           element basically it does the following checks as described
  6142.           by the XML-1.0 recommendation: - [ VC: Attribute Value Type
  6143.           ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
  6144.           [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
  6145.           Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  6146.            uniqueness and matching are done separately '''
  6147.         if doc is None:
  6148.             doc__o = None
  6149.         else:
  6150.             doc__o = doc._o
  6151.         if elem is None:
  6152.             elem__o = None
  6153.         else:
  6154.             elem__o = elem._o
  6155.         if ns is None:
  6156.             ns__o = None
  6157.         else:
  6158.             ns__o = ns._o
  6159.         ret = libxml2mod.xmlValidateOneNamespace(self._o, doc__o, elem__o, prefix, ns__o, value)
  6160.         return ret
  6161.  
  6162.     
  6163.     def validatePopElement(self, doc, elem, qname):
  6164.         '''Pop the element end from the validation stack. '''
  6165.         if doc is None:
  6166.             doc__o = None
  6167.         else:
  6168.             doc__o = doc._o
  6169.         if elem is None:
  6170.             elem__o = None
  6171.         else:
  6172.             elem__o = elem._o
  6173.         ret = libxml2mod.xmlValidatePopElement(self._o, doc__o, elem__o, qname)
  6174.         return ret
  6175.  
  6176.     
  6177.     def validatePushCData(self, data, len):
  6178.         '''check the CData parsed for validation in the current stack '''
  6179.         ret = libxml2mod.xmlValidatePushCData(self._o, data, len)
  6180.         return ret
  6181.  
  6182.     
  6183.     def validatePushElement(self, doc, elem, qname):
  6184.         '''Push a new element start on the validation stack. '''
  6185.         if doc is None:
  6186.             doc__o = None
  6187.         else:
  6188.             doc__o = doc._o
  6189.         if elem is None:
  6190.             elem__o = None
  6191.         else:
  6192.             elem__o = elem._o
  6193.         ret = libxml2mod.xmlValidatePushElement(self._o, doc__o, elem__o, qname)
  6194.         return ret
  6195.  
  6196.     
  6197.     def validateRoot(self, doc):
  6198.         """Try to validate a the root element basically it does the
  6199.           following check as described by the XML-1.0 recommendation:
  6200.           - [ VC: Root Element Type ] it doesn't try to recurse or
  6201.            apply other check to the element """
  6202.         if doc is None:
  6203.             doc__o = None
  6204.         else:
  6205.             doc__o = doc._o
  6206.         ret = libxml2mod.xmlValidateRoot(self._o, doc__o)
  6207.         return ret
  6208.  
  6209.  
  6210.  
  6211. class xmlElement(xmlNode):
  6212.     
  6213.     def __init__(self, _obj = None):
  6214.         if type(_obj).__name__ != 'PyCObject':
  6215.             raise TypeError, 'xmlElement needs a PyCObject argument'
  6216.         type(_obj).__name__ != 'PyCObject'
  6217.         self._o = _obj
  6218.         xmlNode.__init__(self, _obj = _obj)
  6219.  
  6220.     
  6221.     def __repr__(self):
  6222.         return '<xmlElement (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  6223.  
  6224.  
  6225.  
  6226. class xmlAttr(xmlNode):
  6227.     
  6228.     def __init__(self, _obj = None):
  6229.         if type(_obj).__name__ != 'PyCObject':
  6230.             raise TypeError, 'xmlAttr needs a PyCObject argument'
  6231.         type(_obj).__name__ != 'PyCObject'
  6232.         self._o = _obj
  6233.         xmlNode.__init__(self, _obj = _obj)
  6234.  
  6235.     
  6236.     def __repr__(self):
  6237.         return '<xmlAttr (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  6238.  
  6239.     
  6240.     def debugDumpAttr(self, output, depth):
  6241.         '''Dumps debug information for the attribute '''
  6242.         libxml2mod.xmlDebugDumpAttr(output, self._o, depth)
  6243.  
  6244.     
  6245.     def debugDumpAttrList(self, output, depth):
  6246.         '''Dumps debug information for the attribute list '''
  6247.         libxml2mod.xmlDebugDumpAttrList(output, self._o, depth)
  6248.  
  6249.     
  6250.     def copyProp(self, target):
  6251.         '''Do a copy of the attribute. '''
  6252.         if target is None:
  6253.             target__o = None
  6254.         else:
  6255.             target__o = target._o
  6256.         ret = libxml2mod.xmlCopyProp(target__o, self._o)
  6257.         if ret is None:
  6258.             raise treeError('xmlCopyProp() failed')
  6259.         ret is None
  6260.         _xmlAttr__tmp = xmlAttr(_obj = ret)
  6261.         return _xmlAttr__tmp
  6262.  
  6263.     
  6264.     def copyPropList(self, target):
  6265.         '''Do a copy of an attribute list. '''
  6266.         if target is None:
  6267.             target__o = None
  6268.         else:
  6269.             target__o = target._o
  6270.         ret = libxml2mod.xmlCopyPropList(target__o, self._o)
  6271.         if ret is None:
  6272.             raise treeError('xmlCopyPropList() failed')
  6273.         ret is None
  6274.         _xmlAttr__tmp = xmlAttr(_obj = ret)
  6275.         return _xmlAttr__tmp
  6276.  
  6277.     
  6278.     def freeProp(self):
  6279.         '''Free one attribute, all the content is freed too '''
  6280.         libxml2mod.xmlFreeProp(self._o)
  6281.  
  6282.     
  6283.     def freePropList(self):
  6284.         '''Free a property and all its siblings, all the children are
  6285.            freed too. '''
  6286.         libxml2mod.xmlFreePropList(self._o)
  6287.  
  6288.     
  6289.     def removeProp(self):
  6290.         """Unlink and free one attribute, all the content is freed too
  6291.            Note this doesn't work for namespace definition attributes """
  6292.         ret = libxml2mod.xmlRemoveProp(self._o)
  6293.         return ret
  6294.  
  6295.     
  6296.     def removeID(self, doc):
  6297.         '''Remove the given attribute from the ID table maintained
  6298.            internally. '''
  6299.         if doc is None:
  6300.             doc__o = None
  6301.         else:
  6302.             doc__o = doc._o
  6303.         ret = libxml2mod.xmlRemoveID(doc__o, self._o)
  6304.         return ret
  6305.  
  6306.     
  6307.     def removeRef(self, doc):
  6308.         '''Remove the given attribute from the Ref table maintained
  6309.            internally. '''
  6310.         if doc is None:
  6311.             doc__o = None
  6312.         else:
  6313.             doc__o = doc._o
  6314.         ret = libxml2mod.xmlRemoveRef(doc__o, self._o)
  6315.         return ret
  6316.  
  6317.  
  6318.  
  6319. class xmlTextReader(xmlTextReaderCore):
  6320.     
  6321.     def __init__(self, _obj = None):
  6322.         self.input = None
  6323.         self._o = _obj
  6324.         xmlTextReaderCore.__init__(self, _obj = _obj)
  6325.  
  6326.     
  6327.     def __del__(self):
  6328.         if self._o != None:
  6329.             libxml2mod.xmlFreeTextReader(self._o)
  6330.         
  6331.         self._o = None
  6332.  
  6333.     
  6334.     def AttributeCount(self):
  6335.         '''Provides the number of attributes of the current node '''
  6336.         ret = libxml2mod.xmlTextReaderAttributeCount(self._o)
  6337.         return ret
  6338.  
  6339.     
  6340.     def BaseUri(self):
  6341.         '''The base URI of the node. '''
  6342.         ret = libxml2mod.xmlTextReaderConstBaseUri(self._o)
  6343.         return ret
  6344.  
  6345.     
  6346.     def ByteConsumed(self):
  6347.         '''This function provides the current index of the parser used
  6348.           by the reader, relative to the start of the current entity.
  6349.           This function actually just wraps a call to
  6350.           xmlBytesConsumed() for the parser context associated with
  6351.            the reader. See xmlBytesConsumed() for more information. '''
  6352.         ret = libxml2mod.xmlTextReaderByteConsumed(self._o)
  6353.         return ret
  6354.  
  6355.     
  6356.     def Close(self):
  6357.         '''This method releases any resources allocated by the current
  6358.           instance changes the state to Closed and close any
  6359.            underlying input. '''
  6360.         ret = libxml2mod.xmlTextReaderClose(self._o)
  6361.         return ret
  6362.  
  6363.     
  6364.     def CurrentDoc(self):
  6365.         '''Hacking interface allowing to get the xmlDocPtr
  6366.           correponding to the current document being accessed by the
  6367.           xmlTextReader. NOTE: as a result of this call, the reader
  6368.           will not destroy the associated XML document and calling
  6369.           xmlFreeDoc() on the result is needed once the reader
  6370.            parsing has finished. '''
  6371.         ret = libxml2mod.xmlTextReaderCurrentDoc(self._o)
  6372.         if ret is None:
  6373.             raise treeError('xmlTextReaderCurrentDoc() failed')
  6374.         ret is None
  6375.         _xmlTextReader__tmp = xmlDoc(_obj = ret)
  6376.         return _xmlTextReader__tmp
  6377.  
  6378.     
  6379.     def CurrentNode(self):
  6380.         '''Hacking interface allowing to get the xmlNodePtr
  6381.           correponding to the current node being accessed by the
  6382.           xmlTextReader. This is dangerous because the underlying
  6383.            node may be destroyed on the next Reads. '''
  6384.         ret = libxml2mod.xmlTextReaderCurrentNode(self._o)
  6385.         if ret is None:
  6386.             raise treeError('xmlTextReaderCurrentNode() failed')
  6387.         ret is None
  6388.         _xmlTextReader__tmp = xmlNode(_obj = ret)
  6389.         return _xmlTextReader__tmp
  6390.  
  6391.     
  6392.     def Depth(self):
  6393.         '''The depth of the node in the tree. '''
  6394.         ret = libxml2mod.xmlTextReaderDepth(self._o)
  6395.         return ret
  6396.  
  6397.     
  6398.     def Encoding(self):
  6399.         '''Determine the encoding of the document being read. '''
  6400.         ret = libxml2mod.xmlTextReaderConstEncoding(self._o)
  6401.         return ret
  6402.  
  6403.     
  6404.     def Expand(self):
  6405.         '''Reads the contents of the current node and the full
  6406.           subtree. It then makes the subtree available until the next
  6407.            xmlTextReaderRead() call '''
  6408.         ret = libxml2mod.xmlTextReaderExpand(self._o)
  6409.         if ret is None:
  6410.             raise treeError('xmlTextReaderExpand() failed')
  6411.         ret is None
  6412.         _xmlTextReader__tmp = xmlNode(_obj = ret)
  6413.         return _xmlTextReader__tmp
  6414.  
  6415.     
  6416.     def GetAttribute(self, name):
  6417.         '''Provides the value of the attribute with the specified
  6418.            qualified name. '''
  6419.         ret = libxml2mod.xmlTextReaderGetAttribute(self._o, name)
  6420.         return ret
  6421.  
  6422.     
  6423.     def GetAttributeNo(self, no):
  6424.         '''Provides the value of the attribute with the specified
  6425.            index relative to the containing element. '''
  6426.         ret = libxml2mod.xmlTextReaderGetAttributeNo(self._o, no)
  6427.         return ret
  6428.  
  6429.     
  6430.     def GetAttributeNs(self, localName, namespaceURI):
  6431.         '''Provides the value of the specified attribute '''
  6432.         ret = libxml2mod.xmlTextReaderGetAttributeNs(self._o, localName, namespaceURI)
  6433.         return ret
  6434.  
  6435.     
  6436.     def GetParserColumnNumber(self):
  6437.         '''Provide the column number of the current parsing point. '''
  6438.         ret = libxml2mod.xmlTextReaderGetParserColumnNumber(self._o)
  6439.         return ret
  6440.  
  6441.     
  6442.     def GetParserLineNumber(self):
  6443.         '''Provide the line number of the current parsing point. '''
  6444.         ret = libxml2mod.xmlTextReaderGetParserLineNumber(self._o)
  6445.         return ret
  6446.  
  6447.     
  6448.     def GetParserProp(self, prop):
  6449.         '''Read the parser internal property. '''
  6450.         ret = libxml2mod.xmlTextReaderGetParserProp(self._o, prop)
  6451.         return ret
  6452.  
  6453.     
  6454.     def GetRemainder(self):
  6455.         """Method to get the remainder of the buffered XML. this
  6456.           method stops the parser, set its state to End Of File and
  6457.           return the input stream with what is left that the parser
  6458.           did not use.  The implementation is not good, the parser
  6459.           certainly procgressed past what's left in reader->input,
  6460.           and there is an allocation problem. Best would be to
  6461.            rewrite it differently. """
  6462.         ret = libxml2mod.xmlTextReaderGetRemainder(self._o)
  6463.         if ret is None:
  6464.             raise treeError('xmlTextReaderGetRemainder() failed')
  6465.         ret is None
  6466.         _xmlTextReader__tmp = inputBuffer(_obj = ret)
  6467.         return _xmlTextReader__tmp
  6468.  
  6469.     
  6470.     def HasAttributes(self):
  6471.         '''Whether the node has attributes. '''
  6472.         ret = libxml2mod.xmlTextReaderHasAttributes(self._o)
  6473.         return ret
  6474.  
  6475.     
  6476.     def HasValue(self):
  6477.         '''Whether the node can have a text value. '''
  6478.         ret = libxml2mod.xmlTextReaderHasValue(self._o)
  6479.         return ret
  6480.  
  6481.     
  6482.     def IsDefault(self):
  6483.         '''Whether an Attribute  node was generated from the default
  6484.            value defined in the DTD or schema. '''
  6485.         ret = libxml2mod.xmlTextReaderIsDefault(self._o)
  6486.         return ret
  6487.  
  6488.     
  6489.     def IsEmptyElement(self):
  6490.         '''Check if the current node is empty '''
  6491.         ret = libxml2mod.xmlTextReaderIsEmptyElement(self._o)
  6492.         return ret
  6493.  
  6494.     
  6495.     def IsNamespaceDecl(self):
  6496.         '''Determine whether the current node is a namespace
  6497.            declaration rather than a regular attribute. '''
  6498.         ret = libxml2mod.xmlTextReaderIsNamespaceDecl(self._o)
  6499.         return ret
  6500.  
  6501.     
  6502.     def IsValid(self):
  6503.         '''Retrieve the validity status from the parser context '''
  6504.         ret = libxml2mod.xmlTextReaderIsValid(self._o)
  6505.         return ret
  6506.  
  6507.     
  6508.     def LocalName(self):
  6509.         '''The local name of the node. '''
  6510.         ret = libxml2mod.xmlTextReaderConstLocalName(self._o)
  6511.         return ret
  6512.  
  6513.     
  6514.     def LookupNamespace(self, prefix):
  6515.         '''Resolves a namespace prefix in the scope of the current
  6516.            element. '''
  6517.         ret = libxml2mod.xmlTextReaderLookupNamespace(self._o, prefix)
  6518.         return ret
  6519.  
  6520.     
  6521.     def MoveToAttribute(self, name):
  6522.         '''Moves the position of the current instance to the attribute
  6523.            with the specified qualified name. '''
  6524.         ret = libxml2mod.xmlTextReaderMoveToAttribute(self._o, name)
  6525.         return ret
  6526.  
  6527.     
  6528.     def MoveToAttributeNo(self, no):
  6529.         '''Moves the position of the current instance to the attribute
  6530.           with the specified index relative to the containing element. '''
  6531.         ret = libxml2mod.xmlTextReaderMoveToAttributeNo(self._o, no)
  6532.         return ret
  6533.  
  6534.     
  6535.     def MoveToAttributeNs(self, localName, namespaceURI):
  6536.         '''Moves the position of the current instance to the attribute
  6537.            with the specified local name and namespace URI. '''
  6538.         ret = libxml2mod.xmlTextReaderMoveToAttributeNs(self._o, localName, namespaceURI)
  6539.         return ret
  6540.  
  6541.     
  6542.     def MoveToElement(self):
  6543.         '''Moves the position of the current instance to the node that
  6544.            contains the current Attribute  node. '''
  6545.         ret = libxml2mod.xmlTextReaderMoveToElement(self._o)
  6546.         return ret
  6547.  
  6548.     
  6549.     def MoveToFirstAttribute(self):
  6550.         '''Moves the position of the current instance to the first
  6551.            attribute associated with the current node. '''
  6552.         ret = libxml2mod.xmlTextReaderMoveToFirstAttribute(self._o)
  6553.         return ret
  6554.  
  6555.     
  6556.     def MoveToNextAttribute(self):
  6557.         '''Moves the position of the current instance to the next
  6558.            attribute associated with the current node. '''
  6559.         ret = libxml2mod.xmlTextReaderMoveToNextAttribute(self._o)
  6560.         return ret
  6561.  
  6562.     
  6563.     def Name(self):
  6564.         '''The qualified name of the node, equal to Prefix :LocalName. '''
  6565.         ret = libxml2mod.xmlTextReaderConstName(self._o)
  6566.         return ret
  6567.  
  6568.     
  6569.     def NamespaceUri(self):
  6570.         '''The URI defining the namespace associated with the node. '''
  6571.         ret = libxml2mod.xmlTextReaderConstNamespaceUri(self._o)
  6572.         return ret
  6573.  
  6574.     
  6575.     def NewDoc(self, cur, URL, encoding, options):
  6576.         '''Setup an xmltextReader to parse an XML in-memory document.
  6577.           The parsing flags @options are a combination of
  6578.           xmlParserOption. This reuses the existing @reader
  6579.            xmlTextReader. '''
  6580.         ret = libxml2mod.xmlReaderNewDoc(self._o, cur, URL, encoding, options)
  6581.         return ret
  6582.  
  6583.     
  6584.     def NewFd(self, fd, URL, encoding, options):
  6585.         '''Setup an xmltextReader to parse an XML from a file
  6586.           descriptor. NOTE that the file descriptor will not be
  6587.           closed when the reader is closed or reset. The parsing
  6588.           flags @options are a combination of xmlParserOption. This
  6589.            reuses the existing @reader xmlTextReader. '''
  6590.         ret = libxml2mod.xmlReaderNewFd(self._o, fd, URL, encoding, options)
  6591.         return ret
  6592.  
  6593.     
  6594.     def NewFile(self, filename, encoding, options):
  6595.         '''parse an XML file from the filesystem or the network. The
  6596.           parsing flags @options are a combination of
  6597.           xmlParserOption. This reuses the existing @reader
  6598.            xmlTextReader. '''
  6599.         ret = libxml2mod.xmlReaderNewFile(self._o, filename, encoding, options)
  6600.         return ret
  6601.  
  6602.     
  6603.     def NewMemory(self, buffer, size, URL, encoding, options):
  6604.         '''Setup an xmltextReader to parse an XML in-memory document.
  6605.           The parsing flags @options are a combination of
  6606.           xmlParserOption. This reuses the existing @reader
  6607.            xmlTextReader. '''
  6608.         ret = libxml2mod.xmlReaderNewMemory(self._o, buffer, size, URL, encoding, options)
  6609.         return ret
  6610.  
  6611.     
  6612.     def NewWalker(self, doc):
  6613.         '''Setup an xmltextReader to parse a preparsed XML document.
  6614.            This reuses the existing @reader xmlTextReader. '''
  6615.         if doc is None:
  6616.             doc__o = None
  6617.         else:
  6618.             doc__o = doc._o
  6619.         ret = libxml2mod.xmlReaderNewWalker(self._o, doc__o)
  6620.         return ret
  6621.  
  6622.     
  6623.     def Next(self):
  6624.         '''Skip to the node following the current one in document
  6625.            order while avoiding the subtree if any. '''
  6626.         ret = libxml2mod.xmlTextReaderNext(self._o)
  6627.         return ret
  6628.  
  6629.     
  6630.     def NextSibling(self):
  6631.         '''Skip to the node following the current one in document
  6632.           order while avoiding the subtree if any. Currently
  6633.            implemented only for Readers built on a document '''
  6634.         ret = libxml2mod.xmlTextReaderNextSibling(self._o)
  6635.         return ret
  6636.  
  6637.     
  6638.     def NodeType(self):
  6639.         '''Get the node type of the current node Reference:
  6640.           http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/Xm
  6641.           lNodeType.html '''
  6642.         ret = libxml2mod.xmlTextReaderNodeType(self._o)
  6643.         return ret
  6644.  
  6645.     
  6646.     def Normalization(self):
  6647.         '''The value indicating whether to normalize white space and
  6648.           attribute values. Since attribute value and end of line
  6649.           normalizations are a MUST in the XML specification only the
  6650.           value true is accepted. The broken bahaviour of accepting
  6651.           out of range character entities like � is of course not
  6652.            supported either. '''
  6653.         ret = libxml2mod.xmlTextReaderNormalization(self._o)
  6654.         return ret
  6655.  
  6656.     
  6657.     def Prefix(self):
  6658.         '''A shorthand reference to the namespace associated with the
  6659.            node. '''
  6660.         ret = libxml2mod.xmlTextReaderConstPrefix(self._o)
  6661.         return ret
  6662.  
  6663.     
  6664.     def Preserve(self):
  6665.         '''This tells the XML Reader to preserve the current node. The
  6666.           caller must also use xmlTextReaderCurrentDoc() to keep an
  6667.            handle on the resulting document once parsing has finished '''
  6668.         ret = libxml2mod.xmlTextReaderPreserve(self._o)
  6669.         if ret is None:
  6670.             raise treeError('xmlTextReaderPreserve() failed')
  6671.         ret is None
  6672.         _xmlTextReader__tmp = xmlNode(_obj = ret)
  6673.         return _xmlTextReader__tmp
  6674.  
  6675.     
  6676.     def QuoteChar(self):
  6677.         '''The quotation mark character used to enclose the value of
  6678.            an attribute. '''
  6679.         ret = libxml2mod.xmlTextReaderQuoteChar(self._o)
  6680.         return ret
  6681.  
  6682.     
  6683.     def Read(self):
  6684.         '''Moves the position of the current instance to the next node
  6685.            in the stream, exposing its properties. '''
  6686.         ret = libxml2mod.xmlTextReaderRead(self._o)
  6687.         return ret
  6688.  
  6689.     
  6690.     def ReadAttributeValue(self):
  6691.         '''Parses an attribute value into one or more Text and
  6692.            EntityReference nodes. '''
  6693.         ret = libxml2mod.xmlTextReaderReadAttributeValue(self._o)
  6694.         return ret
  6695.  
  6696.     
  6697.     def ReadInnerXml(self):
  6698.         '''Reads the contents of the current node, including child
  6699.            nodes and markup. '''
  6700.         ret = libxml2mod.xmlTextReaderReadInnerXml(self._o)
  6701.         return ret
  6702.  
  6703.     
  6704.     def ReadOuterXml(self):
  6705.         '''Reads the contents of the current node, including child
  6706.            nodes and markup. '''
  6707.         ret = libxml2mod.xmlTextReaderReadOuterXml(self._o)
  6708.         return ret
  6709.  
  6710.     
  6711.     def ReadState(self):
  6712.         '''Gets the read state of the reader. '''
  6713.         ret = libxml2mod.xmlTextReaderReadState(self._o)
  6714.         return ret
  6715.  
  6716.     
  6717.     def ReadString(self):
  6718.         '''Reads the contents of an element or a text node as a string. '''
  6719.         ret = libxml2mod.xmlTextReaderReadString(self._o)
  6720.         return ret
  6721.  
  6722.     
  6723.     def RelaxNGSetSchema(self, schema):
  6724.         '''Use RelaxNG to validate the document as it is processed.
  6725.           Activation is only possible before the first Read(). if
  6726.           @schema is None, then RelaxNG validation is desactivated. @
  6727.           The @schema should not be freed until the reader is
  6728.            deallocated or its use has been deactivated. '''
  6729.         if schema is None:
  6730.             schema__o = None
  6731.         else:
  6732.             schema__o = schema._o
  6733.         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(self._o, schema__o)
  6734.         return ret
  6735.  
  6736.     
  6737.     def RelaxNGValidate(self, rng):
  6738.         '''Use RelaxNG to validate the document as it is processed.
  6739.           Activation is only possible before the first Read(). if
  6740.            @rng is None, then RelaxNG validation is deactivated. '''
  6741.         ret = libxml2mod.xmlTextReaderRelaxNGValidate(self._o, rng)
  6742.         return ret
  6743.  
  6744.     
  6745.     def SchemaValidate(self, xsd):
  6746.         '''Use W3C XSD schema to validate the document as it is
  6747.           processed. Activation is only possible before the first
  6748.           Read(). If @xsd is None, then XML Schema validation is
  6749.            deactivated. '''
  6750.         ret = libxml2mod.xmlTextReaderSchemaValidate(self._o, xsd)
  6751.         return ret
  6752.  
  6753.     
  6754.     def SchemaValidateCtxt(self, ctxt, options):
  6755.         '''Use W3C XSD schema context to validate the document as it
  6756.           is processed. Activation is only possible before the first
  6757.           Read(). If @ctxt is None, then XML Schema validation is
  6758.            deactivated. '''
  6759.         if ctxt is None:
  6760.             ctxt__o = None
  6761.         else:
  6762.             ctxt__o = ctxt._o
  6763.         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(self._o, ctxt__o, options)
  6764.         return ret
  6765.  
  6766.     
  6767.     def SetParserProp(self, prop, value):
  6768.         '''Change the parser processing behaviour by changing some of
  6769.           its internal properties. Note that some properties can only
  6770.            be changed before any read has been done. '''
  6771.         ret = libxml2mod.xmlTextReaderSetParserProp(self._o, prop, value)
  6772.         return ret
  6773.  
  6774.     
  6775.     def SetSchema(self, schema):
  6776.         '''Use XSD Schema to validate the document as it is processed.
  6777.           Activation is only possible before the first Read(). if
  6778.           @schema is None, then Schema validation is desactivated. @
  6779.           The @schema should not be freed until the reader is
  6780.            deallocated or its use has been deactivated. '''
  6781.         if schema is None:
  6782.             schema__o = None
  6783.         else:
  6784.             schema__o = schema._o
  6785.         ret = libxml2mod.xmlTextReaderSetSchema(self._o, schema__o)
  6786.         return ret
  6787.  
  6788.     
  6789.     def Setup(self, input, URL, encoding, options):
  6790.         '''Setup an XML reader with new options '''
  6791.         if input is None:
  6792.             input__o = None
  6793.         else:
  6794.             input__o = input._o
  6795.         ret = libxml2mod.xmlTextReaderSetup(self._o, input__o, URL, encoding, options)
  6796.         return ret
  6797.  
  6798.     
  6799.     def Standalone(self):
  6800.         '''Determine the standalone status of the document being read. '''
  6801.         ret = libxml2mod.xmlTextReaderStandalone(self._o)
  6802.         return ret
  6803.  
  6804.     
  6805.     def String(self, str):
  6806.         '''Get an interned string from the reader, allows for example
  6807.            to speedup string name comparisons '''
  6808.         ret = libxml2mod.xmlTextReaderConstString(self._o, str)
  6809.         return ret
  6810.  
  6811.     
  6812.     def Value(self):
  6813.         '''Provides the text value of the node if present '''
  6814.         ret = libxml2mod.xmlTextReaderConstValue(self._o)
  6815.         return ret
  6816.  
  6817.     
  6818.     def XmlLang(self):
  6819.         '''The xml:lang scope within which the node resides. '''
  6820.         ret = libxml2mod.xmlTextReaderConstXmlLang(self._o)
  6821.         return ret
  6822.  
  6823.     
  6824.     def XmlVersion(self):
  6825.         '''Determine the XML version of the document being read. '''
  6826.         ret = libxml2mod.xmlTextReaderConstXmlVersion(self._o)
  6827.         return ret
  6828.  
  6829.  
  6830.  
  6831. class xmlReg:
  6832.     
  6833.     def __init__(self, _obj = None):
  6834.         if _obj != None:
  6835.             self._o = _obj
  6836.             return None
  6837.         self._o = None
  6838.  
  6839.     
  6840.     def __del__(self):
  6841.         if self._o != None:
  6842.             libxml2mod.xmlRegFreeRegexp(self._o)
  6843.         
  6844.         self._o = None
  6845.  
  6846.     
  6847.     def regexpExec(self, content):
  6848.         '''Check if the regular expression generates the value '''
  6849.         ret = libxml2mod.xmlRegexpExec(self._o, content)
  6850.         return ret
  6851.  
  6852.     
  6853.     def regexpIsDeterminist(self):
  6854.         '''Check if the regular expression is determinist '''
  6855.         ret = libxml2mod.xmlRegexpIsDeterminist(self._o)
  6856.         return ret
  6857.  
  6858.     
  6859.     def regexpPrint(self, output):
  6860.         '''Print the content of the compiled regular expression '''
  6861.         libxml2mod.xmlRegexpPrint(output, self._o)
  6862.  
  6863.  
  6864.  
  6865. class catalog:
  6866.     
  6867.     def __init__(self, _obj = None):
  6868.         if _obj != None:
  6869.             self._o = _obj
  6870.             return None
  6871.         self._o = None
  6872.  
  6873.     
  6874.     def __del__(self):
  6875.         if self._o != None:
  6876.             libxml2mod.xmlFreeCatalog(self._o)
  6877.         
  6878.         self._o = None
  6879.  
  6880.     
  6881.     def add(self, type, orig, replace):
  6882.         '''Add an entry in the catalog, it may overwrite existing but
  6883.            different entries. '''
  6884.         ret = libxml2mod.xmlACatalogAdd(self._o, type, orig, replace)
  6885.         return ret
  6886.  
  6887.     
  6888.     def catalogIsEmpty(self):
  6889.         '''Check is a catalog is empty '''
  6890.         ret = libxml2mod.xmlCatalogIsEmpty(self._o)
  6891.         return ret
  6892.  
  6893.     
  6894.     def convertSGMLCatalog(self):
  6895.         '''Convert all the SGML catalog entries as XML ones '''
  6896.         ret = libxml2mod.xmlConvertSGMLCatalog(self._o)
  6897.         return ret
  6898.  
  6899.     
  6900.     def dump(self, out):
  6901.         '''Dump the given catalog to the given file. '''
  6902.         libxml2mod.xmlACatalogDump(self._o, out)
  6903.  
  6904.     
  6905.     def remove(self, value):
  6906.         '''Remove an entry from the catalog '''
  6907.         ret = libxml2mod.xmlACatalogRemove(self._o, value)
  6908.         return ret
  6909.  
  6910.     
  6911.     def resolve(self, pubID, sysID):
  6912.         '''Do a complete resolution lookup of an External Identifier '''
  6913.         ret = libxml2mod.xmlACatalogResolve(self._o, pubID, sysID)
  6914.         return ret
  6915.  
  6916.     
  6917.     def resolvePublic(self, pubID):
  6918.         '''Try to lookup the catalog local reference associated to a
  6919.            public ID in that catalog '''
  6920.         ret = libxml2mod.xmlACatalogResolvePublic(self._o, pubID)
  6921.         return ret
  6922.  
  6923.     
  6924.     def resolveSystem(self, sysID):
  6925.         '''Try to lookup the catalog resource for a system ID '''
  6926.         ret = libxml2mod.xmlACatalogResolveSystem(self._o, sysID)
  6927.         return ret
  6928.  
  6929.     
  6930.     def resolveURI(self, URI):
  6931.         '''Do a complete resolution lookup of an URI '''
  6932.         ret = libxml2mod.xmlACatalogResolveURI(self._o, URI)
  6933.         return ret
  6934.  
  6935.  
  6936.  
  6937. class xmlEntity(xmlNode):
  6938.     
  6939.     def __init__(self, _obj = None):
  6940.         if type(_obj).__name__ != 'PyCObject':
  6941.             raise TypeError, 'xmlEntity needs a PyCObject argument'
  6942.         type(_obj).__name__ != 'PyCObject'
  6943.         self._o = _obj
  6944.         xmlNode.__init__(self, _obj = _obj)
  6945.  
  6946.     
  6947.     def __repr__(self):
  6948.         return '<xmlEntity (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  6949.  
  6950.     
  6951.     def handleEntity(self, ctxt):
  6952.         '''Default handling of defined entities, when should we define
  6953.           a new input stream ? When do we just handle that as a set
  6954.            of chars ?  OBSOLETE: to be removed at some point. '''
  6955.         if ctxt is None:
  6956.             ctxt__o = None
  6957.         else:
  6958.             ctxt__o = ctxt._o
  6959.         libxml2mod.xmlHandleEntity(ctxt__o, self._o)
  6960.  
  6961.  
  6962.  
  6963. class relaxNgSchema:
  6964.     
  6965.     def __init__(self, _obj = None):
  6966.         if _obj != None:
  6967.             self._o = _obj
  6968.             return None
  6969.         self._o = None
  6970.  
  6971.     
  6972.     def __del__(self):
  6973.         if self._o != None:
  6974.             libxml2mod.xmlRelaxNGFree(self._o)
  6975.         
  6976.         self._o = None
  6977.  
  6978.     
  6979.     def relaxNGDump(self, output):
  6980.         '''Dump a RelaxNG structure back '''
  6981.         libxml2mod.xmlRelaxNGDump(output, self._o)
  6982.  
  6983.     
  6984.     def relaxNGDumpTree(self, output):
  6985.         '''Dump the transformed RelaxNG tree. '''
  6986.         libxml2mod.xmlRelaxNGDumpTree(output, self._o)
  6987.  
  6988.     
  6989.     def relaxNGNewValidCtxt(self):
  6990.         '''Create an XML RelaxNGs validation context based on the
  6991.            given schema '''
  6992.         ret = libxml2mod.xmlRelaxNGNewValidCtxt(self._o)
  6993.         if ret is None:
  6994.             raise treeError('xmlRelaxNGNewValidCtxt() failed')
  6995.         ret is None
  6996.         _relaxNgSchema__tmp = relaxNgValidCtxt(_obj = ret)
  6997.         _relaxNgSchema__tmp.schema = self
  6998.         return _relaxNgSchema__tmp
  6999.  
  7000.     
  7001.     def RelaxNGSetSchema(self, reader):
  7002.         '''Use RelaxNG to validate the document as it is processed.
  7003.           Activation is only possible before the first Read(). if
  7004.           @schema is None, then RelaxNG validation is desactivated. @
  7005.           The @schema should not be freed until the reader is
  7006.            deallocated or its use has been deactivated. '''
  7007.         if reader is None:
  7008.             reader__o = None
  7009.         else:
  7010.             reader__o = reader._o
  7011.         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(reader__o, self._o)
  7012.         return ret
  7013.  
  7014.  
  7015.  
  7016. class Schema:
  7017.     
  7018.     def __init__(self, _obj = None):
  7019.         if _obj != None:
  7020.             self._o = _obj
  7021.             return None
  7022.         self._o = None
  7023.  
  7024.     
  7025.     def __del__(self):
  7026.         if self._o != None:
  7027.             libxml2mod.xmlSchemaFree(self._o)
  7028.         
  7029.         self._o = None
  7030.  
  7031.     
  7032.     def SetSchema(self, reader):
  7033.         '''Use XSD Schema to validate the document as it is processed.
  7034.           Activation is only possible before the first Read(). if
  7035.           @schema is None, then Schema validation is desactivated. @
  7036.           The @schema should not be freed until the reader is
  7037.            deallocated or its use has been deactivated. '''
  7038.         if reader is None:
  7039.             reader__o = None
  7040.         else:
  7041.             reader__o = reader._o
  7042.         ret = libxml2mod.xmlTextReaderSetSchema(reader__o, self._o)
  7043.         return ret
  7044.  
  7045.     
  7046.     def schemaDump(self, output):
  7047.         '''Dump a Schema structure. '''
  7048.         libxml2mod.xmlSchemaDump(output, self._o)
  7049.  
  7050.     
  7051.     def schemaNewValidCtxt(self):
  7052.         '''Create an XML Schemas validation context based on the given
  7053.            schema. '''
  7054.         ret = libxml2mod.xmlSchemaNewValidCtxt(self._o)
  7055.         if ret is None:
  7056.             raise treeError('xmlSchemaNewValidCtxt() failed')
  7057.         ret is None
  7058.         _Schema__tmp = SchemaValidCtxt(_obj = ret)
  7059.         _Schema__tmp.schema = self
  7060.         return _Schema__tmp
  7061.  
  7062.  
  7063.  
  7064. class Error:
  7065.     
  7066.     def __init__(self, _obj = None):
  7067.         if _obj != None:
  7068.             self._o = _obj
  7069.             return None
  7070.         self._o = None
  7071.  
  7072.     
  7073.     def code(self):
  7074.         '''The error code, e.g. an xmlParserError '''
  7075.         ret = libxml2mod.xmlErrorGetCode(self._o)
  7076.         return ret
  7077.  
  7078.     
  7079.     def domain(self):
  7080.         '''What part of the library raised this error '''
  7081.         ret = libxml2mod.xmlErrorGetDomain(self._o)
  7082.         return ret
  7083.  
  7084.     
  7085.     def file(self):
  7086.         '''the filename '''
  7087.         ret = libxml2mod.xmlErrorGetFile(self._o)
  7088.         return ret
  7089.  
  7090.     
  7091.     def level(self):
  7092.         '''how consequent is the error '''
  7093.         ret = libxml2mod.xmlErrorGetLevel(self._o)
  7094.         return ret
  7095.  
  7096.     
  7097.     def line(self):
  7098.         '''the line number if available '''
  7099.         ret = libxml2mod.xmlErrorGetLine(self._o)
  7100.         return ret
  7101.  
  7102.     
  7103.     def message(self):
  7104.         '''human-readable informative error message '''
  7105.         ret = libxml2mod.xmlErrorGetMessage(self._o)
  7106.         return ret
  7107.  
  7108.     
  7109.     def copyError(self, to):
  7110.         '''Save the original error to the new place. '''
  7111.         if to is None:
  7112.             to__o = None
  7113.         else:
  7114.             to__o = to._o
  7115.         ret = libxml2mod.xmlCopyError(self._o, to__o)
  7116.         return ret
  7117.  
  7118.     
  7119.     def resetError(self):
  7120.         '''Cleanup the error. '''
  7121.         libxml2mod.xmlResetError(self._o)
  7122.  
  7123.  
  7124.  
  7125. class relaxNgValidCtxt(relaxNgValidCtxtCore):
  7126.     
  7127.     def __init__(self, _obj = None):
  7128.         self.schema = None
  7129.         self._o = _obj
  7130.         relaxNgValidCtxtCore.__init__(self, _obj = _obj)
  7131.  
  7132.     
  7133.     def __del__(self):
  7134.         if self._o != None:
  7135.             libxml2mod.xmlRelaxNGFreeValidCtxt(self._o)
  7136.         
  7137.         self._o = None
  7138.  
  7139.     
  7140.     def relaxNGValidateDoc(self, doc):
  7141.         '''Validate a document tree in memory. '''
  7142.         if doc is None:
  7143.             doc__o = None
  7144.         else:
  7145.             doc__o = doc._o
  7146.         ret = libxml2mod.xmlRelaxNGValidateDoc(self._o, doc__o)
  7147.         return ret
  7148.  
  7149.     
  7150.     def relaxNGValidateFullElement(self, doc, elem):
  7151.         '''Validate a full subtree when
  7152.           xmlRelaxNGValidatePushElement() returned 0 and the content
  7153.            of the node has been expanded. '''
  7154.         if doc is None:
  7155.             doc__o = None
  7156.         else:
  7157.             doc__o = doc._o
  7158.         if elem is None:
  7159.             elem__o = None
  7160.         else:
  7161.             elem__o = elem._o
  7162.         ret = libxml2mod.xmlRelaxNGValidateFullElement(self._o, doc__o, elem__o)
  7163.         return ret
  7164.  
  7165.     
  7166.     def relaxNGValidatePopElement(self, doc, elem):
  7167.         '''Pop the element end from the RelaxNG validation stack. '''
  7168.         if doc is None:
  7169.             doc__o = None
  7170.         else:
  7171.             doc__o = doc._o
  7172.         if elem is None:
  7173.             elem__o = None
  7174.         else:
  7175.             elem__o = elem._o
  7176.         ret = libxml2mod.xmlRelaxNGValidatePopElement(self._o, doc__o, elem__o)
  7177.         return ret
  7178.  
  7179.     
  7180.     def relaxNGValidatePushCData(self, data, len):
  7181.         '''check the CData parsed for validation in the current stack '''
  7182.         ret = libxml2mod.xmlRelaxNGValidatePushCData(self._o, data, len)
  7183.         return ret
  7184.  
  7185.     
  7186.     def relaxNGValidatePushElement(self, doc, elem):
  7187.         '''Push a new element start on the RelaxNG validation stack. '''
  7188.         if doc is None:
  7189.             doc__o = None
  7190.         else:
  7191.             doc__o = doc._o
  7192.         if elem is None:
  7193.             elem__o = None
  7194.         else:
  7195.             elem__o = elem._o
  7196.         ret = libxml2mod.xmlRelaxNGValidatePushElement(self._o, doc__o, elem__o)
  7197.         return ret
  7198.  
  7199.  
  7200.  
  7201. class xpathParserContext:
  7202.     
  7203.     def __init__(self, _obj = None):
  7204.         if _obj != None:
  7205.             self._o = _obj
  7206.             return None
  7207.         self._o = None
  7208.  
  7209.     
  7210.     def context(self):
  7211.         '''Get the xpathContext from an xpathParserContext '''
  7212.         ret = libxml2mod.xmlXPathParserGetContext(self._o)
  7213.         if ret is None:
  7214.             raise xpathError('xmlXPathParserGetContext() failed')
  7215.         ret is None
  7216.         _xpathParserContext__tmp = xpathContext(_obj = ret)
  7217.         return _xpathParserContext__tmp
  7218.  
  7219.     
  7220.     def xpathAddValues(self):
  7221.         '''Implement the add operation on XPath objects: The numeric
  7222.           operators convert their operands to numbers as if by
  7223.            calling the number function. '''
  7224.         libxml2mod.xmlXPathAddValues(self._o)
  7225.  
  7226.     
  7227.     def xpathBooleanFunction(self, nargs):
  7228.         '''Implement the boolean() XPath function boolean
  7229.           boolean(object) The boolean function converts its argument
  7230.           to a boolean as follows: - a number is true if and only if
  7231.           it is neither positive or negative zero nor NaN - a
  7232.           node-set is true if and only if it is non-empty - a string
  7233.            is true if and only if its length is non-zero '''
  7234.         libxml2mod.xmlXPathBooleanFunction(self._o, nargs)
  7235.  
  7236.     
  7237.     def xpathCeilingFunction(self, nargs):
  7238.         '''Implement the ceiling() XPath function number
  7239.           ceiling(number) The ceiling function returns the smallest
  7240.           (closest to negative infinity) number that is not less than
  7241.            the argument and that is an integer. '''
  7242.         libxml2mod.xmlXPathCeilingFunction(self._o, nargs)
  7243.  
  7244.     
  7245.     def xpathCompareValues(self, inf, strict):
  7246.         '''Implement the compare operation on XPath objects: @arg1 <
  7247.           @arg2    (1, 1, ... @arg1 <= @arg2   (1, 0, ... @arg1 >
  7248.           @arg2    (0, 1, ... @arg1 >= @arg2   (0, 0, ...  When
  7249.           neither object to be compared is a node-set and the
  7250.           operator is <=, <, >=, >, then the objects are compared by
  7251.           converted both objects to numbers and comparing the numbers
  7252.           according to IEEE 754. The < comparison will be true if and
  7253.           only if the first number is less than the second number.
  7254.           The <= comparison will be true if and only if the first
  7255.           number is less than or equal to the second number. The >
  7256.           comparison will be true if and only if the first number is
  7257.           greater than the second number. The >= comparison will be
  7258.           true if and only if the first number is greater than or
  7259.            equal to the second number. '''
  7260.         ret = libxml2mod.xmlXPathCompareValues(self._o, inf, strict)
  7261.         return ret
  7262.  
  7263.     
  7264.     def xpathConcatFunction(self, nargs):
  7265.         '''Implement the concat() XPath function string concat(string,
  7266.           string, string*) The concat function returns the
  7267.            concatenation of its arguments. '''
  7268.         libxml2mod.xmlXPathConcatFunction(self._o, nargs)
  7269.  
  7270.     
  7271.     def xpathContainsFunction(self, nargs):
  7272.         '''Implement the contains() XPath function boolean
  7273.           contains(string, string) The contains function returns true
  7274.           if the first argument string contains the second argument
  7275.            string, and otherwise returns false. '''
  7276.         libxml2mod.xmlXPathContainsFunction(self._o, nargs)
  7277.  
  7278.     
  7279.     def xpathCountFunction(self, nargs):
  7280.         '''Implement the count() XPath function number count(node-set) '''
  7281.         libxml2mod.xmlXPathCountFunction(self._o, nargs)
  7282.  
  7283.     
  7284.     def xpathDivValues(self):
  7285.         '''Implement the div operation on XPath objects @arg1 / @arg2:
  7286.           The numeric operators convert their operands to numbers as
  7287.            if by calling the number function. '''
  7288.         libxml2mod.xmlXPathDivValues(self._o)
  7289.  
  7290.     
  7291.     def xpathEqualValues(self):
  7292.         '''Implement the equal operation on XPath objects content:
  7293.            @arg1 == @arg2 '''
  7294.         ret = libxml2mod.xmlXPathEqualValues(self._o)
  7295.         return ret
  7296.  
  7297.     
  7298.     def xpathErr(self, error):
  7299.         '''Handle an XPath error '''
  7300.         libxml2mod.xmlXPathErr(self._o, error)
  7301.  
  7302.     
  7303.     def xpathEvalExpr(self):
  7304.         '''Parse and evaluate an XPath expression in the given
  7305.            context, then push the result on the context stack '''
  7306.         libxml2mod.xmlXPathEvalExpr(self._o)
  7307.  
  7308.     
  7309.     def xpathFalseFunction(self, nargs):
  7310.         '''Implement the false() XPath function boolean false() '''
  7311.         libxml2mod.xmlXPathFalseFunction(self._o, nargs)
  7312.  
  7313.     
  7314.     def xpathFloorFunction(self, nargs):
  7315.         '''Implement the floor() XPath function number floor(number)
  7316.           The floor function returns the largest (closest to positive
  7317.           infinity) number that is not greater than the argument and
  7318.            that is an integer. '''
  7319.         libxml2mod.xmlXPathFloorFunction(self._o, nargs)
  7320.  
  7321.     
  7322.     def xpathFreeParserContext(self):
  7323.         '''Free up an xmlXPathParserContext '''
  7324.         libxml2mod.xmlXPathFreeParserContext(self._o)
  7325.  
  7326.     
  7327.     def xpathIdFunction(self, nargs):
  7328.         '''Implement the id() XPath function node-set id(object) The
  7329.           id function selects elements by their unique ID (see [5.2.1
  7330.           Unique IDs]). When the argument to id is of type node-set,
  7331.           then the result is the union of the result of applying id
  7332.           to the string value of each of the nodes in the argument
  7333.           node-set. When the argument to id is of any other type, the
  7334.           argument is converted to a string as if by a call to the
  7335.           string function; the string is split into a
  7336.           whitespace-separated list of tokens (whitespace is any
  7337.           sequence of characters matching the production S); the
  7338.           result is a node-set containing the elements in the same
  7339.           document as the context node that have a unique ID equal to
  7340.            any of the tokens in the list. '''
  7341.         libxml2mod.xmlXPathIdFunction(self._o, nargs)
  7342.  
  7343.     
  7344.     def xpathLangFunction(self, nargs):
  7345.         '''Implement the lang() XPath function boolean lang(string)
  7346.           The lang function returns true or false depending on
  7347.           whether the language of the context node as specified by
  7348.           xml:lang attributes is the same as or is a sublanguage of
  7349.           the language specified by the argument string. The language
  7350.           of the context node is determined by the value of the
  7351.           xml:lang attribute on the context node, or, if the context
  7352.           node has no xml:lang attribute, by the value of the
  7353.           xml:lang attribute on the nearest ancestor of the context
  7354.           node that has an xml:lang attribute. If there is no such
  7355.            attribute, then lang '''
  7356.         libxml2mod.xmlXPathLangFunction(self._o, nargs)
  7357.  
  7358.     
  7359.     def xpathLastFunction(self, nargs):
  7360.         '''Implement the last() XPath function number last() The last
  7361.           function returns the number of nodes in the context node
  7362.            list. '''
  7363.         libxml2mod.xmlXPathLastFunction(self._o, nargs)
  7364.  
  7365.     
  7366.     def xpathLocalNameFunction(self, nargs):
  7367.         '''Implement the local-name() XPath function string
  7368.           local-name(node-set?) The local-name function returns a
  7369.           string containing the local part of the name of the node in
  7370.           the argument node-set that is first in document order. If
  7371.           the node-set is empty or the first node has no name, an
  7372.           empty string is returned. If the argument is omitted it
  7373.            defaults to the context node. '''
  7374.         libxml2mod.xmlXPathLocalNameFunction(self._o, nargs)
  7375.  
  7376.     
  7377.     def xpathModValues(self):
  7378.         '''Implement the mod operation on XPath objects: @arg1 / @arg2
  7379.           The numeric operators convert their operands to numbers as
  7380.            if by calling the number function. '''
  7381.         libxml2mod.xmlXPathModValues(self._o)
  7382.  
  7383.     
  7384.     def xpathMultValues(self):
  7385.         '''Implement the multiply operation on XPath objects: The
  7386.           numeric operators convert their operands to numbers as if
  7387.            by calling the number function. '''
  7388.         libxml2mod.xmlXPathMultValues(self._o)
  7389.  
  7390.     
  7391.     def xpathNamespaceURIFunction(self, nargs):
  7392.         '''Implement the namespace-uri() XPath function string
  7393.           namespace-uri(node-set?) The namespace-uri function returns
  7394.           a string containing the namespace URI of the expanded name
  7395.           of the node in the argument node-set that is first in
  7396.           document order. If the node-set is empty, the first node
  7397.           has no name, or the expanded name has no namespace URI, an
  7398.           empty string is returned. If the argument is omitted it
  7399.            defaults to the context node. '''
  7400.         libxml2mod.xmlXPathNamespaceURIFunction(self._o, nargs)
  7401.  
  7402.     
  7403.     def xpathNextAncestor(self, cur):
  7404.         '''Traversal function for the "ancestor" direction the
  7405.           ancestor axis contains the ancestors of the context node;
  7406.           the ancestors of the context node consist of the parent of
  7407.           context node and the parent\'s parent and so on; the nodes
  7408.           are ordered in reverse document order; thus the parent is
  7409.           the first node on the axis, and the parent\'s parent is the
  7410.            second node on the axis '''
  7411.         if cur is None:
  7412.             cur__o = None
  7413.         else:
  7414.             cur__o = cur._o
  7415.         ret = libxml2mod.xmlXPathNextAncestor(self._o, cur__o)
  7416.         if ret is None:
  7417.             raise xpathError('xmlXPathNextAncestor() failed')
  7418.         ret is None
  7419.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7420.         return _xpathParserContext__tmp
  7421.  
  7422.     
  7423.     def xpathNextAncestorOrSelf(self, cur):
  7424.         '''Traversal function for the "ancestor-or-self" direction he
  7425.           ancestor-or-self axis contains the context node and
  7426.           ancestors of the context node in reverse document order;
  7427.           thus the context node is the first node on the axis, and
  7428.           the context node\'s parent the second; parent here is
  7429.            defined the same as with the parent axis. '''
  7430.         if cur is None:
  7431.             cur__o = None
  7432.         else:
  7433.             cur__o = cur._o
  7434.         ret = libxml2mod.xmlXPathNextAncestorOrSelf(self._o, cur__o)
  7435.         if ret is None:
  7436.             raise xpathError('xmlXPathNextAncestorOrSelf() failed')
  7437.         ret is None
  7438.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7439.         return _xpathParserContext__tmp
  7440.  
  7441.     
  7442.     def xpathNextAttribute(self, cur):
  7443.         '''Traversal function for the "attribute" direction TODO:
  7444.            support DTD inherited default attributes '''
  7445.         if cur is None:
  7446.             cur__o = None
  7447.         else:
  7448.             cur__o = cur._o
  7449.         ret = libxml2mod.xmlXPathNextAttribute(self._o, cur__o)
  7450.         if ret is None:
  7451.             raise xpathError('xmlXPathNextAttribute() failed')
  7452.         ret is None
  7453.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7454.         return _xpathParserContext__tmp
  7455.  
  7456.     
  7457.     def xpathNextChild(self, cur):
  7458.         '''Traversal function for the "child" direction The child axis
  7459.           contains the children of the context node in document order. '''
  7460.         if cur is None:
  7461.             cur__o = None
  7462.         else:
  7463.             cur__o = cur._o
  7464.         ret = libxml2mod.xmlXPathNextChild(self._o, cur__o)
  7465.         if ret is None:
  7466.             raise xpathError('xmlXPathNextChild() failed')
  7467.         ret is None
  7468.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7469.         return _xpathParserContext__tmp
  7470.  
  7471.     
  7472.     def xpathNextDescendant(self, cur):
  7473.         '''Traversal function for the "descendant" direction the
  7474.           descendant axis contains the descendants of the context
  7475.           node in document order; a descendant is a child or a child
  7476.            of a child and so on. '''
  7477.         if cur is None:
  7478.             cur__o = None
  7479.         else:
  7480.             cur__o = cur._o
  7481.         ret = libxml2mod.xmlXPathNextDescendant(self._o, cur__o)
  7482.         if ret is None:
  7483.             raise xpathError('xmlXPathNextDescendant() failed')
  7484.         ret is None
  7485.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7486.         return _xpathParserContext__tmp
  7487.  
  7488.     
  7489.     def xpathNextDescendantOrSelf(self, cur):
  7490.         '''Traversal function for the "descendant-or-self" direction
  7491.           the descendant-or-self axis contains the context node and
  7492.           the descendants of the context node in document order; thus
  7493.           the context node is the first node on the axis, and the
  7494.           first child of the context node is the second node on the
  7495.            axis '''
  7496.         if cur is None:
  7497.             cur__o = None
  7498.         else:
  7499.             cur__o = cur._o
  7500.         ret = libxml2mod.xmlXPathNextDescendantOrSelf(self._o, cur__o)
  7501.         if ret is None:
  7502.             raise xpathError('xmlXPathNextDescendantOrSelf() failed')
  7503.         ret is None
  7504.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7505.         return _xpathParserContext__tmp
  7506.  
  7507.     
  7508.     def xpathNextFollowing(self, cur):
  7509.         '''Traversal function for the "following" direction The
  7510.           following axis contains all nodes in the same document as
  7511.           the context node that are after the context node in
  7512.           document order, excluding any descendants and excluding
  7513.           attribute nodes and namespace nodes; the nodes are ordered
  7514.            in document order '''
  7515.         if cur is None:
  7516.             cur__o = None
  7517.         else:
  7518.             cur__o = cur._o
  7519.         ret = libxml2mod.xmlXPathNextFollowing(self._o, cur__o)
  7520.         if ret is None:
  7521.             raise xpathError('xmlXPathNextFollowing() failed')
  7522.         ret is None
  7523.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7524.         return _xpathParserContext__tmp
  7525.  
  7526.     
  7527.     def xpathNextFollowingSibling(self, cur):
  7528.         '''Traversal function for the "following-sibling" direction
  7529.           The following-sibling axis contains the following siblings
  7530.            of the context node in document order. '''
  7531.         if cur is None:
  7532.             cur__o = None
  7533.         else:
  7534.             cur__o = cur._o
  7535.         ret = libxml2mod.xmlXPathNextFollowingSibling(self._o, cur__o)
  7536.         if ret is None:
  7537.             raise xpathError('xmlXPathNextFollowingSibling() failed')
  7538.         ret is None
  7539.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7540.         return _xpathParserContext__tmp
  7541.  
  7542.     
  7543.     def xpathNextNamespace(self, cur):
  7544.         '''Traversal function for the "namespace" direction the
  7545.           namespace axis contains the namespace nodes of the context
  7546.           node; the order of nodes on this axis is
  7547.           implementation-defined; the axis will be empty unless the
  7548.           context node is an element  We keep the XML namespace node
  7549.            at the end of the list. '''
  7550.         if cur is None:
  7551.             cur__o = None
  7552.         else:
  7553.             cur__o = cur._o
  7554.         ret = libxml2mod.xmlXPathNextNamespace(self._o, cur__o)
  7555.         if ret is None:
  7556.             raise xpathError('xmlXPathNextNamespace() failed')
  7557.         ret is None
  7558.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7559.         return _xpathParserContext__tmp
  7560.  
  7561.     
  7562.     def xpathNextParent(self, cur):
  7563.         '''Traversal function for the "parent" direction The parent
  7564.           axis contains the parent of the context node, if there is
  7565.            one. '''
  7566.         if cur is None:
  7567.             cur__o = None
  7568.         else:
  7569.             cur__o = cur._o
  7570.         ret = libxml2mod.xmlXPathNextParent(self._o, cur__o)
  7571.         if ret is None:
  7572.             raise xpathError('xmlXPathNextParent() failed')
  7573.         ret is None
  7574.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7575.         return _xpathParserContext__tmp
  7576.  
  7577.     
  7578.     def xpathNextPreceding(self, cur):
  7579.         '''Traversal function for the "preceding" direction the
  7580.           preceding axis contains all nodes in the same document as
  7581.           the context node that are before the context node in
  7582.           document order, excluding any ancestors and excluding
  7583.           attribute nodes and namespace nodes; the nodes are ordered
  7584.            in reverse document order '''
  7585.         if cur is None:
  7586.             cur__o = None
  7587.         else:
  7588.             cur__o = cur._o
  7589.         ret = libxml2mod.xmlXPathNextPreceding(self._o, cur__o)
  7590.         if ret is None:
  7591.             raise xpathError('xmlXPathNextPreceding() failed')
  7592.         ret is None
  7593.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7594.         return _xpathParserContext__tmp
  7595.  
  7596.     
  7597.     def xpathNextPrecedingSibling(self, cur):
  7598.         '''Traversal function for the "preceding-sibling" direction
  7599.           The preceding-sibling axis contains the preceding siblings
  7600.           of the context node in reverse document order; the first
  7601.           preceding sibling is first on the axis; the sibling
  7602.            preceding that node is the second on the axis and so on. '''
  7603.         if cur is None:
  7604.             cur__o = None
  7605.         else:
  7606.             cur__o = cur._o
  7607.         ret = libxml2mod.xmlXPathNextPrecedingSibling(self._o, cur__o)
  7608.         if ret is None:
  7609.             raise xpathError('xmlXPathNextPrecedingSibling() failed')
  7610.         ret is None
  7611.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7612.         return _xpathParserContext__tmp
  7613.  
  7614.     
  7615.     def xpathNextSelf(self, cur):
  7616.         '''Traversal function for the "self" direction The self axis
  7617.            contains just the context node itself '''
  7618.         if cur is None:
  7619.             cur__o = None
  7620.         else:
  7621.             cur__o = cur._o
  7622.         ret = libxml2mod.xmlXPathNextSelf(self._o, cur__o)
  7623.         if ret is None:
  7624.             raise xpathError('xmlXPathNextSelf() failed')
  7625.         ret is None
  7626.         _xpathParserContext__tmp = xmlNode(_obj = ret)
  7627.         return _xpathParserContext__tmp
  7628.  
  7629.     
  7630.     def xpathNormalizeFunction(self, nargs):
  7631.         '''Implement the normalize-space() XPath function string
  7632.           normalize-space(string?) The normalize-space function
  7633.           returns the argument string with white space normalized by
  7634.           stripping leading and trailing whitespace and replacing
  7635.           sequences of whitespace characters by a single space.
  7636.           Whitespace characters are the same allowed by the S
  7637.           production in XML. If the argument is omitted, it defaults
  7638.           to the context node converted to a string, in other words
  7639.            the value of the context node. '''
  7640.         libxml2mod.xmlXPathNormalizeFunction(self._o, nargs)
  7641.  
  7642.     
  7643.     def xpathNotEqualValues(self):
  7644.         '''Implement the equal operation on XPath objects content:
  7645.            @arg1 == @arg2 '''
  7646.         ret = libxml2mod.xmlXPathNotEqualValues(self._o)
  7647.         return ret
  7648.  
  7649.     
  7650.     def xpathNotFunction(self, nargs):
  7651.         '''Implement the not() XPath function boolean not(boolean) The
  7652.           not function returns true if its argument is false, and
  7653.            false otherwise. '''
  7654.         libxml2mod.xmlXPathNotFunction(self._o, nargs)
  7655.  
  7656.     
  7657.     def xpathNumberFunction(self, nargs):
  7658.         '''Implement the number() XPath function number number(object?) '''
  7659.         libxml2mod.xmlXPathNumberFunction(self._o, nargs)
  7660.  
  7661.     
  7662.     def xpathParseNCName(self):
  7663.         """parse an XML namespace non qualified name.  [NS 3] NCName
  7664.           ::= (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::=
  7665.            Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender """
  7666.         ret = libxml2mod.xmlXPathParseNCName(self._o)
  7667.         return ret
  7668.  
  7669.     
  7670.     def xpathParseName(self):
  7671.         """parse an XML name  [4] NameChar ::= Letter | Digit | '.' |
  7672.           '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
  7673.            (Letter | '_' | ':') (NameChar)* """
  7674.         ret = libxml2mod.xmlXPathParseName(self._o)
  7675.         return ret
  7676.  
  7677.     
  7678.     def xpathPopBoolean(self):
  7679.         '''Pops a boolean from the stack, handling conversion if
  7680.            needed. Check error with #xmlXPathCheckError. '''
  7681.         ret = libxml2mod.xmlXPathPopBoolean(self._o)
  7682.         return ret
  7683.  
  7684.     
  7685.     def xpathPopNumber(self):
  7686.         '''Pops a number from the stack, handling conversion if
  7687.            needed. Check error with #xmlXPathCheckError. '''
  7688.         ret = libxml2mod.xmlXPathPopNumber(self._o)
  7689.         return ret
  7690.  
  7691.     
  7692.     def xpathPopString(self):
  7693.         '''Pops a string from the stack, handling conversion if
  7694.            needed. Check error with #xmlXPathCheckError. '''
  7695.         ret = libxml2mod.xmlXPathPopString(self._o)
  7696.         return ret
  7697.  
  7698.     
  7699.     def xpathPositionFunction(self, nargs):
  7700.         '''Implement the position() XPath function number position()
  7701.           The position function returns the position of the context
  7702.           node in the context node list. The first position is 1, and
  7703.            so the last position will be equal to last(). '''
  7704.         libxml2mod.xmlXPathPositionFunction(self._o, nargs)
  7705.  
  7706.     
  7707.     def xpathRoot(self):
  7708.         '''Initialize the context to the root of the document '''
  7709.         libxml2mod.xmlXPathRoot(self._o)
  7710.  
  7711.     
  7712.     def xpathRoundFunction(self, nargs):
  7713.         '''Implement the round() XPath function number round(number)
  7714.           The round function returns the number that is closest to
  7715.           the argument and that is an integer. If there are two such
  7716.            numbers, then the one that is even is returned. '''
  7717.         libxml2mod.xmlXPathRoundFunction(self._o, nargs)
  7718.  
  7719.     
  7720.     def xpathStartsWithFunction(self, nargs):
  7721.         '''Implement the starts-with() XPath function boolean
  7722.           starts-with(string, string) The starts-with function
  7723.           returns true if the first argument string starts with the
  7724.            second argument string, and otherwise returns false. '''
  7725.         libxml2mod.xmlXPathStartsWithFunction(self._o, nargs)
  7726.  
  7727.     
  7728.     def xpathStringFunction(self, nargs):
  7729.         '''Implement the string() XPath function string
  7730.           string(object?) The string function converts an object to a
  7731.           string as follows: - A node-set is converted to a string by
  7732.           returning the value of the node in the node-set that is
  7733.           first in document order. If the node-set is empty, an empty
  7734.           string is returned. - A number is converted to a string as
  7735.           follows + NaN is converted to the string NaN + positive
  7736.           zero is converted to the string 0 + negative zero is
  7737.           converted to the string 0 + positive infinity is converted
  7738.           to the string Infinity + negative infinity is converted to
  7739.           the string -Infinity + if the number is an integer, the
  7740.           number is represented in decimal form as a Number with no
  7741.           decimal point and no leading zeros, preceded by a minus
  7742.           sign (-) if the number is negative + otherwise, the number
  7743.           is represented in decimal form as a Number including a
  7744.           decimal point with at least one digit before the decimal
  7745.           point and at least one digit after the decimal point,
  7746.           preceded by a minus sign (-) if the number is negative;
  7747.           there must be no leading zeros before the decimal point
  7748.           apart possibly from the one required digit immediately
  7749.           before the decimal point; beyond the one required digit
  7750.           after the decimal point there must be as many, but only as
  7751.           many, more digits as are needed to uniquely distinguish the
  7752.           number from all other IEEE 754 numeric values. - The
  7753.           boolean false value is converted to the string false. The
  7754.           boolean true value is converted to the string true.  If the
  7755.           argument is omitted, it defaults to a node-set with the
  7756.            context node as its only member. '''
  7757.         libxml2mod.xmlXPathStringFunction(self._o, nargs)
  7758.  
  7759.     
  7760.     def xpathStringLengthFunction(self, nargs):
  7761.         '''Implement the string-length() XPath function number
  7762.           string-length(string?) The string-length returns the number
  7763.           of characters in the string (see [3.6 Strings]). If the
  7764.           argument is omitted, it defaults to the context node
  7765.           converted to a string, in other words the value of the
  7766.            context node. '''
  7767.         libxml2mod.xmlXPathStringLengthFunction(self._o, nargs)
  7768.  
  7769.     
  7770.     def xpathSubValues(self):
  7771.         '''Implement the subtraction operation on XPath objects: The
  7772.           numeric operators convert their operands to numbers as if
  7773.            by calling the number function. '''
  7774.         libxml2mod.xmlXPathSubValues(self._o)
  7775.  
  7776.     
  7777.     def xpathSubstringAfterFunction(self, nargs):
  7778.         '''Implement the substring-after() XPath function string
  7779.           substring-after(string, string) The substring-after
  7780.           function returns the substring of the first argument string
  7781.           that follows the first occurrence of the second argument
  7782.           string in the first argument string, or the empty stringi
  7783.           if the first argument string does not contain the second
  7784.           argument string. For example,
  7785.           substring-after("1999/04/01","/") returns 04/01, and
  7786.            substring-after("1999/04/01","19") returns 99/04/01. '''
  7787.         libxml2mod.xmlXPathSubstringAfterFunction(self._o, nargs)
  7788.  
  7789.     
  7790.     def xpathSubstringBeforeFunction(self, nargs):
  7791.         '''Implement the substring-before() XPath function string
  7792.           substring-before(string, string) The substring-before
  7793.           function returns the substring of the first argument string
  7794.           that precedes the first occurrence of the second argument
  7795.           string in the first argument string, or the empty string if
  7796.           the first argument string does not contain the second
  7797.           argument string. For example,
  7798.            substring-before("1999/04/01","/") returns 1999. '''
  7799.         libxml2mod.xmlXPathSubstringBeforeFunction(self._o, nargs)
  7800.  
  7801.     
  7802.     def xpathSubstringFunction(self, nargs):
  7803.         '''Implement the substring() XPath function string
  7804.           substring(string, number, number?) The substring function
  7805.           returns the substring of the first argument starting at the
  7806.           position specified in the second argument with length
  7807.           specified in the third argument. For example,
  7808.           substring("12345",2,3) returns "234". If the third argument
  7809.           is not specified, it returns the substring starting at the
  7810.           position specified in the second argument and continuing to
  7811.           the end of the string. For example, substring("12345",2)
  7812.           returns "2345".  More precisely, each character in the
  7813.           string (see [3.6 Strings]) is considered to have a numeric
  7814.           position: the position of the first character is 1, the
  7815.           position of the second character is 2 and so on. The
  7816.           returned substring contains those characters for which the
  7817.           position of the character is greater than or equal to the
  7818.           second argument and, if the third argument is specified,
  7819.           less than the sum of the second and third arguments; the
  7820.           comparisons and addition used for the above follow the
  7821.           standard IEEE 754 rules. Thus: - substring("12345", 1.5,
  7822.           2.6) returns "234" - substring("12345", 0, 3) returns "12"
  7823.           - substring("12345", 0 div 0, 3) returns "" -
  7824.           substring("12345", 1, 0 div 0) returns "" -
  7825.           substring("12345", -42, 1 div 0) returns "12345" -
  7826.            substring("12345", -1 div 0, 1 div 0) returns "" '''
  7827.         libxml2mod.xmlXPathSubstringFunction(self._o, nargs)
  7828.  
  7829.     
  7830.     def xpathSumFunction(self, nargs):
  7831.         '''Implement the sum() XPath function number sum(node-set) The
  7832.           sum function returns the sum of the values of the nodes in
  7833.            the argument node-set. '''
  7834.         libxml2mod.xmlXPathSumFunction(self._o, nargs)
  7835.  
  7836.     
  7837.     def xpathTranslateFunction(self, nargs):
  7838.         '''Implement the translate() XPath function string
  7839.           translate(string, string, string) The translate function
  7840.           returns the first argument string with occurrences of
  7841.           characters in the second argument string replaced by the
  7842.           character at the corresponding position in the third
  7843.           argument string. For example, translate("bar","abc","ABC")
  7844.           returns the string BAr. If there is a character in the
  7845.           second argument string with no character at a corresponding
  7846.           position in the third argument string (because the second
  7847.           argument string is longer than the third argument string),
  7848.           then occurrences of that character in the first argument
  7849.           string are removed. For example,
  7850.            translate("--aaa--","abc-","ABC") '''
  7851.         libxml2mod.xmlXPathTranslateFunction(self._o, nargs)
  7852.  
  7853.     
  7854.     def xpathTrueFunction(self, nargs):
  7855.         '''Implement the true() XPath function boolean true() '''
  7856.         libxml2mod.xmlXPathTrueFunction(self._o, nargs)
  7857.  
  7858.     
  7859.     def xpathValueFlipSign(self):
  7860.         '''Implement the unary - operation on an XPath object The
  7861.           numeric operators convert their operands to numbers as if
  7862.            by calling the number function. '''
  7863.         libxml2mod.xmlXPathValueFlipSign(self._o)
  7864.  
  7865.     
  7866.     def xpatherror(self, file, line, no):
  7867.         '''Formats an error message. '''
  7868.         libxml2mod.xmlXPatherror(self._o, file, line, no)
  7869.  
  7870.     
  7871.     def xpointerEvalRangePredicate(self):
  7872.         """[8]   Predicate ::=   '[' PredicateExpr ']' [9]  
  7873.           PredicateExpr ::=   Expr  Evaluate a predicate as in
  7874.           xmlXPathEvalPredicate() but for a Location Set instead of a
  7875.            node set """
  7876.         libxml2mod.xmlXPtrEvalRangePredicate(self._o)
  7877.  
  7878.     
  7879.     def xpointerRangeToFunction(self, nargs):
  7880.         '''Implement the range-to() XPointer function '''
  7881.         libxml2mod.xmlXPtrRangeToFunction(self._o, nargs)
  7882.  
  7883.  
  7884.  
  7885. class parserCtxt(parserCtxtCore):
  7886.     
  7887.     def __init__(self, _obj = None):
  7888.         self._o = _obj
  7889.         parserCtxtCore.__init__(self, _obj = _obj)
  7890.  
  7891.     
  7892.     def __del__(self):
  7893.         if self._o != None:
  7894.             libxml2mod.xmlFreeParserCtxt(self._o)
  7895.         
  7896.         self._o = None
  7897.  
  7898.     
  7899.     def doc(self):
  7900.         '''Get the document tree from a parser context. '''
  7901.         ret = libxml2mod.xmlParserGetDoc(self._o)
  7902.         if ret is None:
  7903.             raise parserError('xmlParserGetDoc() failed')
  7904.         ret is None
  7905.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  7906.         return _parserCtxt__tmp
  7907.  
  7908.     
  7909.     def isValid(self):
  7910.         '''Get the validity information from a parser context. '''
  7911.         ret = libxml2mod.xmlParserGetIsValid(self._o)
  7912.         return ret
  7913.  
  7914.     
  7915.     def lineNumbers(self, linenumbers):
  7916.         '''Switch on the generation of line number for elements nodes. '''
  7917.         libxml2mod.xmlParserSetLineNumbers(self._o, linenumbers)
  7918.  
  7919.     
  7920.     def loadSubset(self, loadsubset):
  7921.         '''Switch the parser to load the DTD without validating. '''
  7922.         libxml2mod.xmlParserSetLoadSubset(self._o, loadsubset)
  7923.  
  7924.     
  7925.     def pedantic(self, pedantic):
  7926.         '''Switch the parser to be pedantic. '''
  7927.         libxml2mod.xmlParserSetPedantic(self._o, pedantic)
  7928.  
  7929.     
  7930.     def replaceEntities(self, replaceEntities):
  7931.         '''Switch the parser to replace entities. '''
  7932.         libxml2mod.xmlParserSetReplaceEntities(self._o, replaceEntities)
  7933.  
  7934.     
  7935.     def validate(self, validate):
  7936.         '''Switch the parser to validation mode. '''
  7937.         libxml2mod.xmlParserSetValidate(self._o, validate)
  7938.  
  7939.     
  7940.     def wellFormed(self):
  7941.         '''Get the well formed information from a parser context. '''
  7942.         ret = libxml2mod.xmlParserGetWellFormed(self._o)
  7943.         return ret
  7944.  
  7945.     
  7946.     def htmlCtxtReadDoc(self, cur, URL, encoding, options):
  7947.         '''parse an XML in-memory document and build a tree. This
  7948.            reuses the existing @ctxt parser context '''
  7949.         ret = libxml2mod.htmlCtxtReadDoc(self._o, cur, URL, encoding, options)
  7950.         if ret is None:
  7951.             raise treeError('htmlCtxtReadDoc() failed')
  7952.         ret is None
  7953.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  7954.         return _parserCtxt__tmp
  7955.  
  7956.     
  7957.     def htmlCtxtReadFd(self, fd, URL, encoding, options):
  7958.         '''parse an XML from a file descriptor and build a tree. This
  7959.            reuses the existing @ctxt parser context '''
  7960.         ret = libxml2mod.htmlCtxtReadFd(self._o, fd, URL, encoding, options)
  7961.         if ret is None:
  7962.             raise treeError('htmlCtxtReadFd() failed')
  7963.         ret is None
  7964.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  7965.         return _parserCtxt__tmp
  7966.  
  7967.     
  7968.     def htmlCtxtReadFile(self, filename, encoding, options):
  7969.         '''parse an XML file from the filesystem or the network. This
  7970.            reuses the existing @ctxt parser context '''
  7971.         ret = libxml2mod.htmlCtxtReadFile(self._o, filename, encoding, options)
  7972.         if ret is None:
  7973.             raise treeError('htmlCtxtReadFile() failed')
  7974.         ret is None
  7975.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  7976.         return _parserCtxt__tmp
  7977.  
  7978.     
  7979.     def htmlCtxtReadMemory(self, buffer, size, URL, encoding, options):
  7980.         '''parse an XML in-memory document and build a tree. This
  7981.            reuses the existing @ctxt parser context '''
  7982.         ret = libxml2mod.htmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
  7983.         if ret is None:
  7984.             raise treeError('htmlCtxtReadMemory() failed')
  7985.         ret is None
  7986.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  7987.         return _parserCtxt__tmp
  7988.  
  7989.     
  7990.     def htmlCtxtReset(self):
  7991.         '''Reset a parser context '''
  7992.         libxml2mod.htmlCtxtReset(self._o)
  7993.  
  7994.     
  7995.     def htmlCtxtUseOptions(self, options):
  7996.         '''Applies the options to the parser context '''
  7997.         ret = libxml2mod.htmlCtxtUseOptions(self._o, options)
  7998.         return ret
  7999.  
  8000.     
  8001.     def htmlFreeParserCtxt(self):
  8002.         '''Free all the memory used by a parser context. However the
  8003.            parsed document in ctxt->myDoc is not freed. '''
  8004.         libxml2mod.htmlFreeParserCtxt(self._o)
  8005.  
  8006.     
  8007.     def htmlParseCharRef(self):
  8008.         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
  8009.            ';' | '&#x' [0-9a-fA-F]+ ';' """
  8010.         ret = libxml2mod.htmlParseCharRef(self._o)
  8011.         return ret
  8012.  
  8013.     
  8014.     def htmlParseChunk(self, chunk, size, terminate):
  8015.         '''Parse a Chunk of memory '''
  8016.         ret = libxml2mod.htmlParseChunk(self._o, chunk, size, terminate)
  8017.         return ret
  8018.  
  8019.     
  8020.     def htmlParseDocument(self):
  8021.         '''parse an HTML document (and build a tree if using the
  8022.            standard SAX interface). '''
  8023.         ret = libxml2mod.htmlParseDocument(self._o)
  8024.         return ret
  8025.  
  8026.     
  8027.     def htmlParseElement(self):
  8028.         '''parse an HTML element, this is highly recursive  [39]
  8029.           element ::= EmptyElemTag | STag content ETag  [41]
  8030.            Attribute ::= Name Eq AttValue '''
  8031.         libxml2mod.htmlParseElement(self._o)
  8032.  
  8033.     
  8034.     def byteConsumed(self):
  8035.         '''This function provides the current index of the parser
  8036.           relative to the start of the current entity. This function
  8037.           is computed in bytes from the beginning starting at zero
  8038.           and finishing at the size in byte of the file if parsing a
  8039.           file. The function is of constant cost if the input is
  8040.            UTF-8 but can be costly if run on non-UTF-8 input. '''
  8041.         ret = libxml2mod.xmlByteConsumed(self._o)
  8042.         return ret
  8043.  
  8044.     
  8045.     def clearParserCtxt(self):
  8046.         '''Clear (release owned resources) and reinitialize a parser
  8047.            context '''
  8048.         libxml2mod.xmlClearParserCtxt(self._o)
  8049.  
  8050.     
  8051.     def ctxtReadDoc(self, cur, URL, encoding, options):
  8052.         '''parse an XML in-memory document and build a tree. This
  8053.            reuses the existing @ctxt parser context '''
  8054.         ret = libxml2mod.xmlCtxtReadDoc(self._o, cur, URL, encoding, options)
  8055.         if ret is None:
  8056.             raise treeError('xmlCtxtReadDoc() failed')
  8057.         ret is None
  8058.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  8059.         return _parserCtxt__tmp
  8060.  
  8061.     
  8062.     def ctxtReadFd(self, fd, URL, encoding, options):
  8063.         '''parse an XML from a file descriptor and build a tree. This
  8064.           reuses the existing @ctxt parser context NOTE that the file
  8065.           descriptor will not be closed when the reader is closed or
  8066.            reset. '''
  8067.         ret = libxml2mod.xmlCtxtReadFd(self._o, fd, URL, encoding, options)
  8068.         if ret is None:
  8069.             raise treeError('xmlCtxtReadFd() failed')
  8070.         ret is None
  8071.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  8072.         return _parserCtxt__tmp
  8073.  
  8074.     
  8075.     def ctxtReadFile(self, filename, encoding, options):
  8076.         '''parse an XML file from the filesystem or the network. This
  8077.            reuses the existing @ctxt parser context '''
  8078.         ret = libxml2mod.xmlCtxtReadFile(self._o, filename, encoding, options)
  8079.         if ret is None:
  8080.             raise treeError('xmlCtxtReadFile() failed')
  8081.         ret is None
  8082.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  8083.         return _parserCtxt__tmp
  8084.  
  8085.     
  8086.     def ctxtReadMemory(self, buffer, size, URL, encoding, options):
  8087.         '''parse an XML in-memory document and build a tree. This
  8088.            reuses the existing @ctxt parser context '''
  8089.         ret = libxml2mod.xmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
  8090.         if ret is None:
  8091.             raise treeError('xmlCtxtReadMemory() failed')
  8092.         ret is None
  8093.         _parserCtxt__tmp = xmlDoc(_obj = ret)
  8094.         return _parserCtxt__tmp
  8095.  
  8096.     
  8097.     def ctxtReset(self):
  8098.         '''Reset a parser context '''
  8099.         libxml2mod.xmlCtxtReset(self._o)
  8100.  
  8101.     
  8102.     def ctxtResetPush(self, chunk, size, filename, encoding):
  8103.         '''Reset a push parser context '''
  8104.         ret = libxml2mod.xmlCtxtResetPush(self._o, chunk, size, filename, encoding)
  8105.         return ret
  8106.  
  8107.     
  8108.     def ctxtUseOptions(self, options):
  8109.         '''Applies the options to the parser context '''
  8110.         ret = libxml2mod.xmlCtxtUseOptions(self._o, options)
  8111.         return ret
  8112.  
  8113.     
  8114.     def initParserCtxt(self):
  8115.         '''Initialize a parser context '''
  8116.         ret = libxml2mod.xmlInitParserCtxt(self._o)
  8117.         return ret
  8118.  
  8119.     
  8120.     def parseChunk(self, chunk, size, terminate):
  8121.         '''Parse a Chunk of memory '''
  8122.         ret = libxml2mod.xmlParseChunk(self._o, chunk, size, terminate)
  8123.         return ret
  8124.  
  8125.     
  8126.     def parseDocument(self):
  8127.         '''parse an XML document (and build a tree if using the
  8128.           standard SAX interface).  [1] document ::= prolog element
  8129.            Misc*  [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? '''
  8130.         ret = libxml2mod.xmlParseDocument(self._o)
  8131.         return ret
  8132.  
  8133.     
  8134.     def parseExtParsedEnt(self):
  8135.         '''parse a general parsed entity An external general parsed
  8136.           entity is well-formed if it matches the production labeled
  8137.            extParsedEnt.  [78] extParsedEnt ::= TextDecl? content '''
  8138.         ret = libxml2mod.xmlParseExtParsedEnt(self._o)
  8139.         return ret
  8140.  
  8141.     
  8142.     def setupParserForBuffer(self, buffer, filename):
  8143.         '''Setup the parser context to parse a new buffer; Clears any
  8144.           prior contents from the parser context. The buffer
  8145.           parameter must not be None, but the filename parameter can
  8146.            be '''
  8147.         libxml2mod.xmlSetupParserForBuffer(self._o, buffer, filename)
  8148.  
  8149.     
  8150.     def stopParser(self):
  8151.         '''Blocks further parser processing '''
  8152.         libxml2mod.xmlStopParser(self._o)
  8153.  
  8154.     
  8155.     def decodeEntities(self, len, what, end, end2, end3):
  8156.         """This function is deprecated, we now always process entities
  8157.           content through xmlStringDecodeEntities  TODO: remove it in
  8158.           next major release.  [67] Reference ::= EntityRef | CharRef
  8159.             [69] PEReference ::= '%' Name ';' """
  8160.         ret = libxml2mod.xmlDecodeEntities(self._o, len, what, end, end2, end3)
  8161.         return ret
  8162.  
  8163.     
  8164.     def handleEntity(self, entity):
  8165.         '''Default handling of defined entities, when should we define
  8166.           a new input stream ? When do we just handle that as a set
  8167.            of chars ?  OBSOLETE: to be removed at some point. '''
  8168.         if entity is None:
  8169.             entity__o = None
  8170.         else:
  8171.             entity__o = entity._o
  8172.         libxml2mod.xmlHandleEntity(self._o, entity__o)
  8173.  
  8174.     
  8175.     def namespaceParseNCName(self):
  8176.         """parse an XML namespace name.  TODO: this seems not in use
  8177.           anymore, the namespace handling is done on top of the SAX
  8178.           interfaces, i.e. not on raw input.  [NS 3] NCName ::=
  8179.           (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::= Letter
  8180.            | Digit | '.' | '-' | '_' | CombiningChar | Extender """
  8181.         ret = libxml2mod.xmlNamespaceParseNCName(self._o)
  8182.         return ret
  8183.  
  8184.     
  8185.     def namespaceParseNSDef(self):
  8186.         """parse a namespace prefix declaration  TODO: this seems not
  8187.           in use anymore, the namespace handling is done on top of
  8188.           the SAX interfaces, i.e. not on raw input.  [NS 1] NSDef
  8189.           ::= PrefixDef Eq SystemLiteral  [NS 2] PrefixDef ::=
  8190.            'xmlns' (':' NCName)? """
  8191.         ret = libxml2mod.xmlNamespaceParseNSDef(self._o)
  8192.         return ret
  8193.  
  8194.     
  8195.     def nextChar(self):
  8196.         '''Skip to the next char input char. '''
  8197.         libxml2mod.xmlNextChar(self._o)
  8198.  
  8199.     
  8200.     def parseAttValue(self):
  8201.         '''parse a value for an attribute Note: the parser won\'t do
  8202.           substitution of entities here, this will be handled later
  8203.           in xmlStringGetNodeList  [10] AttValue ::= \'"\' ([^<&"] |
  8204.           Reference)* \'"\' | "\'" ([^<&\'] | Reference)* "\'"  3.3.3
  8205.           Attribute-Value Normalization: Before the value of an
  8206.           attribute is passed to the application or checked for
  8207.           validity, the XML processor must normalize it as follows: -
  8208.           a character reference is processed by appending the
  8209.           referenced character to the attribute value - an entity
  8210.           reference is processed by recursively processing the
  8211.           replacement text of the entity - a whitespace character
  8212.           (#x20, #xD, #xA, #x9) is processed by appending #x20 to the
  8213.           normalized value, except that only a single #x20 is
  8214.           appended for a "#xD#xA" sequence that is part of an
  8215.           external parsed entity or the literal entity value of an
  8216.           internal parsed entity - other characters are processed by
  8217.           appending them to the normalized value If the declared
  8218.           value is not CDATA, then the XML processor must further
  8219.           process the normalized attribute value by discarding any
  8220.           leading and trailing space (#x20) characters, and by
  8221.           replacing sequences of space (#x20) characters by a single
  8222.           space (#x20) character. All attributes for which no
  8223.           declaration has been read should be treated by a
  8224.            non-validating parser as if declared CDATA. '''
  8225.         ret = libxml2mod.xmlParseAttValue(self._o)
  8226.         return ret
  8227.  
  8228.     
  8229.     def parseAttributeListDecl(self):
  8230.         """: parse the Attribute list def for an element  [52]
  8231.           AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'  [53]
  8232.            AttDef ::= S Name S AttType S DefaultDecl """
  8233.         libxml2mod.xmlParseAttributeListDecl(self._o)
  8234.  
  8235.     
  8236.     def parseCDSect(self):
  8237.         """Parse escaped pure raw content.  [18] CDSect ::= CDStart
  8238.           CData CDEnd  [19] CDStart ::= '<![CDATA['  [20] Data ::=
  8239.            (Char* - (Char* ']]>' Char*))  [21] CDEnd ::= ']]>' """
  8240.         libxml2mod.xmlParseCDSect(self._o)
  8241.  
  8242.     
  8243.     def parseCharData(self, cdata):
  8244.         '''parse a CharData section. if we are within a CDATA section
  8245.           \']]>\' marks an end of section.  The right angle bracket (>)
  8246.           may be represented using the string ">", and must, for
  8247.           compatibility, be escaped using ">" or a character
  8248.           reference when it appears in the string "]]>" in content,
  8249.           when that string is not marking the end of a CDATA section.
  8250.             [14] CharData ::= [^<&]* - ([^<&]* \']]>\' [^<&]*) '''
  8251.         libxml2mod.xmlParseCharData(self._o, cdata)
  8252.  
  8253.     
  8254.     def parseCharRef(self):
  8255.         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
  8256.           ';' | '&#x' [0-9a-fA-F]+ ';'  [ WFC: Legal Character ]
  8257.           Characters referred to using character references must
  8258.            match the production for Char. """
  8259.         ret = libxml2mod.xmlParseCharRef(self._o)
  8260.         return ret
  8261.  
  8262.     
  8263.     def parseComment(self):
  8264.         '''Skip an XML (SGML) comment <!-- .... --> The spec says that
  8265.           "For compatibility, the string "--" (double-hyphen) must
  8266.           not occur within comments. "  [15] Comment ::= \'<!--\'
  8267.            ((Char - \'-\') | (\'-\' (Char - \'-\')))* \'-->\' '''
  8268.         libxml2mod.xmlParseComment(self._o)
  8269.  
  8270.     
  8271.     def parseContent(self):
  8272.         '''Parse a content:  [43] content ::= (element | CharData |
  8273.            Reference | CDSect | PI | Comment)* '''
  8274.         libxml2mod.xmlParseContent(self._o)
  8275.  
  8276.     
  8277.     def parseDocTypeDecl(self):
  8278.         """parse a DOCTYPE declaration  [28] doctypedecl ::=
  8279.           '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl |
  8280.           PEReference | S)* ']' S?)? '>'  [ VC: Root Element Type ]
  8281.           The Name in the document type declaration must match the
  8282.            element type of the root element. """
  8283.         libxml2mod.xmlParseDocTypeDecl(self._o)
  8284.  
  8285.     
  8286.     def parseElement(self):
  8287.         """parse an XML element, this is highly recursive  [39]
  8288.           element ::= EmptyElemTag | STag content ETag  [ WFC:
  8289.           Element Type Match ] The Name in an element's end-tag must
  8290.            match the element type in the start-tag. """
  8291.         libxml2mod.xmlParseElement(self._o)
  8292.  
  8293.     
  8294.     def parseElementDecl(self):
  8295.         """parse an Element declaration.  [45] elementdecl ::=
  8296.           '<!ELEMENT' S Name S contentspec S? '>'  [ VC: Unique
  8297.           Element Type Declaration ] No element type may be declared
  8298.            more than once """
  8299.         ret = libxml2mod.xmlParseElementDecl(self._o)
  8300.         return ret
  8301.  
  8302.     
  8303.     def parseEncName(self):
  8304.         """parse the XML encoding name  [81] EncName ::= [A-Za-z]
  8305.            ([A-Za-z0-9._] | '-')* """
  8306.         ret = libxml2mod.xmlParseEncName(self._o)
  8307.         return ret
  8308.  
  8309.     
  8310.     def parseEncodingDecl(self):
  8311.         '''parse the XML encoding declaration  [80] EncodingDecl ::= S
  8312.           \'encoding\' Eq (\'"\' EncName \'"\' |  "\'" EncName "\'")  this
  8313.            setups the conversion filters. '''
  8314.         ret = libxml2mod.xmlParseEncodingDecl(self._o)
  8315.         return ret
  8316.  
  8317.     
  8318.     def parseEndTag(self):
  8319.         """parse an end of tag  [42] ETag ::= '</' Name S? '>'  With
  8320.            namespace  [NS 9] ETag ::= '</' QName S? '>' """
  8321.         libxml2mod.xmlParseEndTag(self._o)
  8322.  
  8323.     
  8324.     def parseEntityDecl(self):
  8325.         """parse <!ENTITY declarations  [70] EntityDecl ::= GEDecl |
  8326.           PEDecl  [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S?
  8327.           '>'  [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
  8328.           [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) 
  8329.           [74] PEDef ::= EntityValue | ExternalID  [76] NDataDecl ::=
  8330.           S 'NDATA' S Name  [ VC: Notation Declared ] The Name must
  8331.            match the declared name of a notation. """
  8332.         libxml2mod.xmlParseEntityDecl(self._o)
  8333.  
  8334.     
  8335.     def parseEntityRef(self):
  8336.         '''parse ENTITY references declarations  [68] EntityRef ::=
  8337.           \'&\' Name \';\'  [ WFC: Entity Declared ] In a document
  8338.           without any DTD, a document with only an internal DTD
  8339.           subset which contains no parameter entity references, or a
  8340.           document with "standalone=\'yes\'", the Name given in the
  8341.           entity reference must match that in an entity declaration,
  8342.           except that well-formed documents need not declare any of
  8343.           the following entities: amp, lt, gt, apos, quot.  The
  8344.           declaration of a parameter entity must precede any
  8345.           reference to it.  Similarly, the declaration of a general
  8346.           entity must precede any reference to it which appears in a
  8347.           default value in an attribute-list declaration. Note that
  8348.           if entities are declared in the external subset or in
  8349.           external parameter entities, a non-validating processor is
  8350.           not obligated to read and process their declarations; for
  8351.           such documents, the rule that an entity must be declared is
  8352.           a well-formedness constraint only if standalone=\'yes\'.  [
  8353.           WFC: Parsed Entity ] An entity reference must not contain
  8354.            the name of an unparsed entity '''
  8355.         ret = libxml2mod.xmlParseEntityRef(self._o)
  8356.         if ret is None:
  8357.             raise parserError('xmlParseEntityRef() failed')
  8358.         ret is None
  8359.         _parserCtxt__tmp = xmlEntity(_obj = ret)
  8360.         return _parserCtxt__tmp
  8361.  
  8362.     
  8363.     def parseExternalSubset(self, ExternalID, SystemID):
  8364.         '''parse Markup declarations from an external subset  [30]
  8365.           extSubset ::= textDecl? extSubsetDecl  [31] extSubsetDecl
  8366.            ::= (markupdecl | conditionalSect | PEReference | S) * '''
  8367.         libxml2mod.xmlParseExternalSubset(self._o, ExternalID, SystemID)
  8368.  
  8369.     
  8370.     def parseMarkupDecl(self):
  8371.         '''parse Markup declarations  [29] markupdecl ::= elementdecl
  8372.           | AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [
  8373.           VC: Proper Declaration/PE Nesting ] Parameter-entity
  8374.           replacement text must be properly nested with markup
  8375.           declarations. That is to say, if either the first character
  8376.           or the last character of a markup declaration (markupdecl
  8377.           above) is contained in the replacement text for a
  8378.           parameter-entity reference, both must be contained in the
  8379.           same replacement text.  [ WFC: PEs in Internal Subset ] In
  8380.           the internal DTD subset, parameter-entity references can
  8381.           occur only where markup declarations can occur, not within
  8382.           markup declarations. (This does not apply to references
  8383.           that occur in external parameter entities or to the
  8384.            external subset.) '''
  8385.         libxml2mod.xmlParseMarkupDecl(self._o)
  8386.  
  8387.     
  8388.     def parseMisc(self):
  8389.         '''parse an XML Misc* optional field.  [27] Misc ::= Comment |
  8390.            PI |  S '''
  8391.         libxml2mod.xmlParseMisc(self._o)
  8392.  
  8393.     
  8394.     def parseName(self):
  8395.         """parse an XML name.  [4] NameChar ::= Letter | Digit | '.' |
  8396.           '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
  8397.           (Letter | '_' | ':') (NameChar)*  [6] Names ::= Name (#x20
  8398.            Name)* """
  8399.         ret = libxml2mod.xmlParseName(self._o)
  8400.         return ret
  8401.  
  8402.     
  8403.     def parseNamespace(self):
  8404.         """xmlParseNamespace: parse specific PI '<?namespace ...'
  8405.           constructs.  This is what the older xml-name Working Draft
  8406.           specified, a bunch of other stuff may still rely on it, so
  8407.           support is still here as if it was declared on the root of
  8408.           the Tree:-(  TODO: remove from library  To be removed at
  8409.            next drop of binary compatibility """
  8410.         libxml2mod.xmlParseNamespace(self._o)
  8411.  
  8412.     
  8413.     def parseNmtoken(self):
  8414.         '''parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8]
  8415.            Nmtokens ::= Nmtoken (#x20 Nmtoken)* '''
  8416.         ret = libxml2mod.xmlParseNmtoken(self._o)
  8417.         return ret
  8418.  
  8419.     
  8420.     def parseNotationDecl(self):
  8421.         """parse a notation declaration  [82] NotationDecl ::=
  8422.           '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>' 
  8423.           Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral
  8424.           'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S
  8425.            SystemLiteral  See the NOTE on xmlParseExternalID(). """
  8426.         libxml2mod.xmlParseNotationDecl(self._o)
  8427.  
  8428.     
  8429.     def parsePEReference(self):
  8430.         '''parse PEReference declarations The entity content is
  8431.           handled directly by pushing it\'s content as a new input
  8432.           stream.  [69] PEReference ::= \'%\' Name \';\'  [ WFC: No
  8433.           Recursion ] A parsed entity must not contain a recursive
  8434.           reference to itself, either directly or indirectly.  [ WFC:
  8435.           Entity Declared ] In a document without any DTD, a document
  8436.           with only an internal DTD subset which contains no
  8437.           parameter entity references, or a document with
  8438.           "standalone=\'yes\'", ...  ... The declaration of a parameter
  8439.           entity must precede any reference to it...  [ VC: Entity
  8440.           Declared ] In a document with an external subset or
  8441.           external parameter entities with "standalone=\'no\'", ... 
  8442.           ... The declaration of a parameter entity must precede any
  8443.           reference to it...  [ WFC: In DTD ] Parameter-entity
  8444.           references may only appear in the DTD. NOTE: misleading but
  8445.            this is handled. '''
  8446.         libxml2mod.xmlParsePEReference(self._o)
  8447.  
  8448.     
  8449.     def parsePI(self):
  8450.         """parse an XML Processing Instruction.  [16] PI ::= '<?'
  8451.           PITarget (S (Char* - (Char* '?>' Char*)))? '?>'  The
  8452.            processing is transfered to SAX once parsed. """
  8453.         libxml2mod.xmlParsePI(self._o)
  8454.  
  8455.     
  8456.     def parsePITarget(self):
  8457.         """parse the name of a PI  [17] PITarget ::= Name - (('X' |
  8458.            'x') ('M' | 'm') ('L' | 'l')) """
  8459.         ret = libxml2mod.xmlParsePITarget(self._o)
  8460.         return ret
  8461.  
  8462.     
  8463.     def parsePubidLiteral(self):
  8464.         '''parse an XML public literal  [12] PubidLiteral ::= \'"\'
  8465.            PubidChar* \'"\' | "\'" (PubidChar - "\'")* "\'" '''
  8466.         ret = libxml2mod.xmlParsePubidLiteral(self._o)
  8467.         return ret
  8468.  
  8469.     
  8470.     def parseQuotedString(self):
  8471.         '''Parse and return a string between quotes or doublequotes 
  8472.           TODO: Deprecated, to  be removed at next drop of binary
  8473.            compatibility '''
  8474.         ret = libxml2mod.xmlParseQuotedString(self._o)
  8475.         return ret
  8476.  
  8477.     
  8478.     def parseReference(self):
  8479.         '''parse and handle entity references in content, depending on
  8480.           the SAX interface, this may end-up in a call to character()
  8481.           if this is a CharRef, a predefined entity, if there is no
  8482.           reference() callback. or if the parser was asked to switch
  8483.            to that mode.  [67] Reference ::= EntityRef | CharRef '''
  8484.         libxml2mod.xmlParseReference(self._o)
  8485.  
  8486.     
  8487.     def parseSDDecl(self):
  8488.         '''parse the XML standalone declaration  [32] SDDecl ::= S
  8489.           \'standalone\' Eq (("\'" (\'yes\' | \'no\') "\'") | (\'"\' (\'yes\' |
  8490.           \'no\')\'"\'))  [ VC: Standalone Document Declaration ] TODO
  8491.           The standalone document declaration must have the value
  8492.           "no" if any external markup declarations contain
  8493.           declarations of: - attributes with default values, if
  8494.           elements to which these attributes apply appear in the
  8495.           document without specifications of values for these
  8496.           attributes, or - entities (other than amp, lt, gt, apos,
  8497.           quot), if references to those entities appear in the
  8498.           document, or - attributes with values subject to
  8499.           normalization, where the attribute appears in the document
  8500.           with a value which will change as a result of
  8501.           normalization, or - element types with element content, if
  8502.           white space occurs directly within any instance of those
  8503.            types. '''
  8504.         ret = libxml2mod.xmlParseSDDecl(self._o)
  8505.         return ret
  8506.  
  8507.     
  8508.     def parseStartTag(self):
  8509.         """parse a start of tag either for rule element or
  8510.           EmptyElement. In both case we don't parse the tag closing
  8511.           chars.  [40] STag ::= '<' Name (S Attribute)* S? '>'  [
  8512.           WFC: Unique Att Spec ] No attribute name may appear more
  8513.           than once in the same start-tag or empty-element tag.  [44]
  8514.           EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'  [ WFC:
  8515.           Unique Att Spec ] No attribute name may appear more than
  8516.           once in the same start-tag or empty-element tag.  With
  8517.           namespace:  [NS 8] STag ::= '<' QName (S Attribute)* S? '>'
  8518.             [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>' """
  8519.         ret = libxml2mod.xmlParseStartTag(self._o)
  8520.         return ret
  8521.  
  8522.     
  8523.     def parseSystemLiteral(self):
  8524.         '''parse an XML Literal  [11] SystemLiteral ::= (\'"\' [^"]*
  8525.            \'"\') | ("\'" [^\']* "\'") '''
  8526.         ret = libxml2mod.xmlParseSystemLiteral(self._o)
  8527.         return ret
  8528.  
  8529.     
  8530.     def parseTextDecl(self):
  8531.         """parse an XML declaration header for external entities  [77]
  8532.            TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' """
  8533.         libxml2mod.xmlParseTextDecl(self._o)
  8534.  
  8535.     
  8536.     def parseVersionInfo(self):
  8537.         '''parse the XML version.  [24] VersionInfo ::= S \'version\' Eq
  8538.            (\' VersionNum \' | " VersionNum ")  [25] Eq ::= S? \'=\' S? '''
  8539.         ret = libxml2mod.xmlParseVersionInfo(self._o)
  8540.         return ret
  8541.  
  8542.     
  8543.     def parseVersionNum(self):
  8544.         """parse the XML version value.  [26] VersionNum ::= '1.'
  8545.            [0-9]+  In practice allow [0-9].[0-9]+ at that level """
  8546.         ret = libxml2mod.xmlParseVersionNum(self._o)
  8547.         return ret
  8548.  
  8549.     
  8550.     def parseXMLDecl(self):
  8551.         """parse an XML declaration header  [23] XMLDecl ::= '<?xml'
  8552.            VersionInfo EncodingDecl? SDDecl? S? '?>' """
  8553.         libxml2mod.xmlParseXMLDecl(self._o)
  8554.  
  8555.     
  8556.     def parserHandlePEReference(self):
  8557.         '''[69] PEReference ::= \'%\' Name \';\'  [ WFC: No Recursion ] A
  8558.           parsed entity must not contain a recursive reference to
  8559.           itself, either directly or indirectly.  [ WFC: Entity
  8560.           Declared ] In a document without any DTD, a document with
  8561.           only an internal DTD subset which contains no parameter
  8562.           entity references, or a document with "standalone=\'yes\'",
  8563.           ...  ... The declaration of a parameter entity must precede
  8564.           any reference to it...  [ VC: Entity Declared ] In a
  8565.           document with an external subset or external parameter
  8566.           entities with "standalone=\'no\'", ...  ... The declaration
  8567.           of a parameter entity must precede any reference to it... 
  8568.           [ WFC: In DTD ] Parameter-entity references may only appear
  8569.           in the DTD. NOTE: misleading but this is handled.  A
  8570.           PEReference may have been detected in the current input
  8571.           stream the handling is done accordingly to
  8572.           http://www.w3.org/TR/REC-xml#entproc i.e. - Included in
  8573.           literal in entity values - Included as Parameter Entity
  8574.            reference within DTDs '''
  8575.         libxml2mod.xmlParserHandlePEReference(self._o)
  8576.  
  8577.     
  8578.     def parserHandleReference(self):
  8579.         """TODO: Remove, now deprecated ... the test is done directly
  8580.           in the content parsing routines.  [67] Reference ::=
  8581.           EntityRef | CharRef  [68] EntityRef ::= '&' Name ';'  [
  8582.           WFC: Entity Declared ] the Name given in the entity
  8583.           reference must match that in an entity declaration, except
  8584.           that well-formed documents need not declare any of the
  8585.           following entities: amp, lt, gt, apos, quot.  [ WFC: Parsed
  8586.           Entity ] An entity reference must not contain the name of
  8587.           an unparsed entity  [66] CharRef ::= '&#' [0-9]+ ';' |
  8588.           '&#x' [0-9a-fA-F]+ ';'  A PEReference may have been
  8589.           detected in the current input stream the handling is done
  8590.            accordingly to http://www.w3.org/TR/REC-xml#entproc """
  8591.         libxml2mod.xmlParserHandleReference(self._o)
  8592.  
  8593.     
  8594.     def popInput(self):
  8595.         '''xmlPopInput: the current input pointed by ctxt->input came
  8596.            to an end pop it and return the next char. '''
  8597.         ret = libxml2mod.xmlPopInput(self._o)
  8598.         return ret
  8599.  
  8600.     
  8601.     def scanName(self):
  8602.         """Trickery: parse an XML name but without consuming the input
  8603.           flow Needed for rollback cases. Used only when parsing
  8604.           entities references.  TODO: seems deprecated now, only used
  8605.           in the default part of xmlParserHandleReference  [4]
  8606.           NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
  8607.           CombiningChar | Extender  [5] Name ::= (Letter | '_' | ':')
  8608.            (NameChar)*  [6] Names ::= Name (S Name)* """
  8609.         ret = libxml2mod.xmlScanName(self._o)
  8610.         return ret
  8611.  
  8612.     
  8613.     def skipBlankChars(self):
  8614.         '''skip all blanks character found at that point in the input
  8615.           streams. It pops up finished entities in the process if
  8616.            allowable at that point. '''
  8617.         ret = libxml2mod.xmlSkipBlankChars(self._o)
  8618.         return ret
  8619.  
  8620.     
  8621.     def stringDecodeEntities(self, str, what, end, end2, end3):
  8622.         """Takes a entity string content and process to do the
  8623.           adequate substitutions.  [67] Reference ::= EntityRef |
  8624.            CharRef  [69] PEReference ::= '%' Name ';' """
  8625.         ret = libxml2mod.xmlStringDecodeEntities(self._o, str, what, end, end2, end3)
  8626.         return ret
  8627.  
  8628.     
  8629.     def stringLenDecodeEntities(self, str, len, what, end, end2, end3):
  8630.         """Takes a entity string content and process to do the
  8631.           adequate substitutions.  [67] Reference ::= EntityRef |
  8632.            CharRef  [69] PEReference ::= '%' Name ';' """
  8633.         ret = libxml2mod.xmlStringLenDecodeEntities(self._o, str, len, what, end, end2, end3)
  8634.         return ret
  8635.  
  8636.  
  8637.  
  8638. class xmlDtd(xmlNode):
  8639.     
  8640.     def __init__(self, _obj = None):
  8641.         if type(_obj).__name__ != 'PyCObject':
  8642.             raise TypeError, 'xmlDtd needs a PyCObject argument'
  8643.         type(_obj).__name__ != 'PyCObject'
  8644.         self._o = _obj
  8645.         xmlNode.__init__(self, _obj = _obj)
  8646.  
  8647.     
  8648.     def __repr__(self):
  8649.         return '<xmlDtd (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  8650.  
  8651.     
  8652.     def debugDumpDTD(self, output):
  8653.         '''Dumps debug information for the DTD '''
  8654.         libxml2mod.xmlDebugDumpDTD(output, self._o)
  8655.  
  8656.     
  8657.     def copyDtd(self):
  8658.         '''Do a copy of the dtd. '''
  8659.         ret = libxml2mod.xmlCopyDtd(self._o)
  8660.         if ret is None:
  8661.             raise treeError('xmlCopyDtd() failed')
  8662.         ret is None
  8663.         _xmlDtd__tmp = xmlDtd(_obj = ret)
  8664.         return _xmlDtd__tmp
  8665.  
  8666.     
  8667.     def freeDtd(self):
  8668.         '''Free a DTD structure. '''
  8669.         libxml2mod.xmlFreeDtd(self._o)
  8670.  
  8671.     
  8672.     def dtdAttrDesc(self, elem, name):
  8673.         '''Search the DTD for the description of this attribute on
  8674.            this element. '''
  8675.         ret = libxml2mod.xmlGetDtdAttrDesc(self._o, elem, name)
  8676.         if ret is None:
  8677.             raise treeError('xmlGetDtdAttrDesc() failed')
  8678.         ret is None
  8679.         _xmlDtd__tmp = xmlAttribute(_obj = ret)
  8680.         return _xmlDtd__tmp
  8681.  
  8682.     
  8683.     def dtdElementDesc(self, name):
  8684.         '''Search the DTD for the description of this element '''
  8685.         ret = libxml2mod.xmlGetDtdElementDesc(self._o, name)
  8686.         if ret is None:
  8687.             raise treeError('xmlGetDtdElementDesc() failed')
  8688.         ret is None
  8689.         _xmlDtd__tmp = xmlElement(_obj = ret)
  8690.         return _xmlDtd__tmp
  8691.  
  8692.     
  8693.     def dtdQAttrDesc(self, elem, name, prefix):
  8694.         '''Search the DTD for the description of this qualified
  8695.            attribute on this element. '''
  8696.         ret = libxml2mod.xmlGetDtdQAttrDesc(self._o, elem, name, prefix)
  8697.         if ret is None:
  8698.             raise treeError('xmlGetDtdQAttrDesc() failed')
  8699.         ret is None
  8700.         _xmlDtd__tmp = xmlAttribute(_obj = ret)
  8701.         return _xmlDtd__tmp
  8702.  
  8703.     
  8704.     def dtdQElementDesc(self, name, prefix):
  8705.         '''Search the DTD for the description of this element '''
  8706.         ret = libxml2mod.xmlGetDtdQElementDesc(self._o, name, prefix)
  8707.         if ret is None:
  8708.             raise treeError('xmlGetDtdQElementDesc() failed')
  8709.         ret is None
  8710.         _xmlDtd__tmp = xmlElement(_obj = ret)
  8711.         return _xmlDtd__tmp
  8712.  
  8713.  
  8714.  
  8715. class xmlNs(xmlNode):
  8716.     
  8717.     def __init__(self, _obj = None):
  8718.         if type(_obj).__name__ != 'PyCObject':
  8719.             raise TypeError, 'xmlNs needs a PyCObject argument'
  8720.         type(_obj).__name__ != 'PyCObject'
  8721.         self._o = _obj
  8722.         xmlNode.__init__(self, _obj = _obj)
  8723.  
  8724.     
  8725.     def __repr__(self):
  8726.         return '<xmlNs (%s) object at 0x%x>' % (self.name, long(pos_id(self)))
  8727.  
  8728.     
  8729.     def copyNamespace(self):
  8730.         '''Do a copy of the namespace. '''
  8731.         ret = libxml2mod.xmlCopyNamespace(self._o)
  8732.         if ret is None:
  8733.             raise treeError('xmlCopyNamespace() failed')
  8734.         ret is None
  8735.         _xmlNs__tmp = xmlNs(_obj = ret)
  8736.         return _xmlNs__tmp
  8737.  
  8738.     
  8739.     def copyNamespaceList(self):
  8740.         '''Do a copy of an namespace list. '''
  8741.         ret = libxml2mod.xmlCopyNamespaceList(self._o)
  8742.         if ret is None:
  8743.             raise treeError('xmlCopyNamespaceList() failed')
  8744.         ret is None
  8745.         _xmlNs__tmp = xmlNs(_obj = ret)
  8746.         return _xmlNs__tmp
  8747.  
  8748.     
  8749.     def freeNs(self):
  8750.         '''Free up the structures associated to a namespace '''
  8751.         libxml2mod.xmlFreeNs(self._o)
  8752.  
  8753.     
  8754.     def freeNsList(self):
  8755.         '''Free up all the structures associated to the chained
  8756.            namespaces. '''
  8757.         libxml2mod.xmlFreeNsList(self._o)
  8758.  
  8759.     
  8760.     def newChild(self, parent, name, content):
  8761.         '''Creation of a new child element, added at the end of
  8762.           @parent children list. @ns and @content parameters are
  8763.           optional (None). If @ns is None, the newly created element
  8764.           inherits the namespace of @parent. If @content is non None,
  8765.           a child list containing the TEXTs and ENTITY_REFs node will
  8766.           be created. NOTE: @content is supposed to be a piece of XML
  8767.           CDATA, so it allows entity references. XML special chars
  8768.           must be escaped first by using
  8769.           xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
  8770.            be used. '''
  8771.         if parent is None:
  8772.             parent__o = None
  8773.         else:
  8774.             parent__o = parent._o
  8775.         ret = libxml2mod.xmlNewChild(parent__o, self._o, name, content)
  8776.         if ret is None:
  8777.             raise treeError('xmlNewChild() failed')
  8778.         ret is None
  8779.         _xmlNs__tmp = xmlNode(_obj = ret)
  8780.         return _xmlNs__tmp
  8781.  
  8782.     
  8783.     def newDocNode(self, doc, name, content):
  8784.         """Creation of a new node element within a document. @ns and
  8785.           @content are optional (None). NOTE: @content is supposed to
  8786.           be a piece of XML CDATA, so it allow entities references,
  8787.           but XML special chars need to be escaped first by using
  8788.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  8789.            don't need entities support. """
  8790.         if doc is None:
  8791.             doc__o = None
  8792.         else:
  8793.             doc__o = doc._o
  8794.         ret = libxml2mod.xmlNewDocNode(doc__o, self._o, name, content)
  8795.         if ret is None:
  8796.             raise treeError('xmlNewDocNode() failed')
  8797.         ret is None
  8798.         _xmlNs__tmp = xmlNode(_obj = ret)
  8799.         return _xmlNs__tmp
  8800.  
  8801.     
  8802.     def newDocNodeEatName(self, doc, name, content):
  8803.         """Creation of a new node element within a document. @ns and
  8804.           @content are optional (None). NOTE: @content is supposed to
  8805.           be a piece of XML CDATA, so it allow entities references,
  8806.           but XML special chars need to be escaped first by using
  8807.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  8808.            don't need entities support. """
  8809.         if doc is None:
  8810.             doc__o = None
  8811.         else:
  8812.             doc__o = doc._o
  8813.         ret = libxml2mod.xmlNewDocNodeEatName(doc__o, self._o, name, content)
  8814.         if ret is None:
  8815.             raise treeError('xmlNewDocNodeEatName() failed')
  8816.         ret is None
  8817.         _xmlNs__tmp = xmlNode(_obj = ret)
  8818.         return _xmlNs__tmp
  8819.  
  8820.     
  8821.     def newDocRawNode(self, doc, name, content):
  8822.         '''Creation of a new node element within a document. @ns and
  8823.            @content are optional (None). '''
  8824.         if doc is None:
  8825.             doc__o = None
  8826.         else:
  8827.             doc__o = doc._o
  8828.         ret = libxml2mod.xmlNewDocRawNode(doc__o, self._o, name, content)
  8829.         if ret is None:
  8830.             raise treeError('xmlNewDocRawNode() failed')
  8831.         ret is None
  8832.         _xmlNs__tmp = xmlNode(_obj = ret)
  8833.         return _xmlNs__tmp
  8834.  
  8835.     
  8836.     def newNodeEatName(self, name):
  8837.         '''Creation of a new node element. @ns is optional (None). '''
  8838.         ret = libxml2mod.xmlNewNodeEatName(self._o, name)
  8839.         if ret is None:
  8840.             raise treeError('xmlNewNodeEatName() failed')
  8841.         ret is None
  8842.         _xmlNs__tmp = xmlNode(_obj = ret)
  8843.         return _xmlNs__tmp
  8844.  
  8845.     
  8846.     def newNsProp(self, node, name, value):
  8847.         '''Create a new property tagged with a namespace and carried
  8848.            by a node. '''
  8849.         if node is None:
  8850.             node__o = None
  8851.         else:
  8852.             node__o = node._o
  8853.         ret = libxml2mod.xmlNewNsProp(node__o, self._o, name, value)
  8854.         if ret is None:
  8855.             raise treeError('xmlNewNsProp() failed')
  8856.         ret is None
  8857.         _xmlNs__tmp = xmlAttr(_obj = ret)
  8858.         return _xmlNs__tmp
  8859.  
  8860.     
  8861.     def newNsPropEatName(self, node, name, value):
  8862.         '''Create a new property tagged with a namespace and carried
  8863.            by a node. '''
  8864.         if node is None:
  8865.             node__o = None
  8866.         else:
  8867.             node__o = node._o
  8868.         ret = libxml2mod.xmlNewNsPropEatName(node__o, self._o, name, value)
  8869.         if ret is None:
  8870.             raise treeError('xmlNewNsPropEatName() failed')
  8871.         ret is None
  8872.         _xmlNs__tmp = xmlAttr(_obj = ret)
  8873.         return _xmlNs__tmp
  8874.  
  8875.     
  8876.     def newTextChild(self, parent, name, content):
  8877.         '''Creation of a new child element, added at the end of
  8878.           @parent children list. @ns and @content parameters are
  8879.           optional (None). If @ns is None, the newly created element
  8880.           inherits the namespace of @parent. If @content is non None,
  8881.           a child TEXT node will be created containing the string
  8882.           @content. NOTE: Use xmlNewChild() if @content will contain
  8883.           entities that need to be preserved. Use this function,
  8884.           xmlNewTextChild(), if you need to ensure that reserved XML
  8885.           chars that might appear in @content, such as the ampersand,
  8886.           greater-than or less-than signs, are automatically replaced
  8887.            by their XML escaped entity representations. '''
  8888.         if parent is None:
  8889.             parent__o = None
  8890.         else:
  8891.             parent__o = parent._o
  8892.         ret = libxml2mod.xmlNewTextChild(parent__o, self._o, name, content)
  8893.         if ret is None:
  8894.             raise treeError('xmlNewTextChild() failed')
  8895.         ret is None
  8896.         _xmlNs__tmp = xmlNode(_obj = ret)
  8897.         return _xmlNs__tmp
  8898.  
  8899.     
  8900.     def setNs(self, node):
  8901.         '''Associate a namespace to a node, a posteriori. '''
  8902.         if node is None:
  8903.             node__o = None
  8904.         else:
  8905.             node__o = node._o
  8906.         libxml2mod.xmlSetNs(node__o, self._o)
  8907.  
  8908.     
  8909.     def setNsProp(self, node, name, value):
  8910.         '''Set (or reset) an attribute carried by a node. The ns
  8911.            structure must be in scope, this is not checked '''
  8912.         if node is None:
  8913.             node__o = None
  8914.         else:
  8915.             node__o = node._o
  8916.         ret = libxml2mod.xmlSetNsProp(node__o, self._o, name, value)
  8917.         if ret is None:
  8918.             raise treeError('xmlSetNsProp() failed')
  8919.         ret is None
  8920.         _xmlNs__tmp = xmlAttr(_obj = ret)
  8921.         return _xmlNs__tmp
  8922.  
  8923.     
  8924.     def unsetNsProp(self, node, name):
  8925.         '''Remove an attribute carried by a node. '''
  8926.         if node is None:
  8927.             node__o = None
  8928.         else:
  8929.             node__o = node._o
  8930.         ret = libxml2mod.xmlUnsetNsProp(node__o, self._o, name)
  8931.         return ret
  8932.  
  8933.     
  8934.     def xpathNodeSetFreeNs(self):
  8935.         """Namespace nodes in libxml don't match the XPath semantic.
  8936.           In a node set the namespace nodes are duplicated and the
  8937.           next pointer is set to the parent node in the XPath
  8938.            semantic. Check if such a node needs to be freed """
  8939.         libxml2mod.xmlXPathNodeSetFreeNs(self._o)
  8940.  
  8941.  
  8942.  
  8943. class inputBuffer(ioReadWrapper):
  8944.     
  8945.     def __init__(self, _obj = None):
  8946.         self._o = _obj
  8947.         ioReadWrapper.__init__(self, _obj = _obj)
  8948.  
  8949.     
  8950.     def __del__(self):
  8951.         if self._o != None:
  8952.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  8953.         
  8954.         self._o = None
  8955.  
  8956.     
  8957.     def grow(self, len):
  8958.         '''Grow up the content of the input buffer, the old data are
  8959.           preserved This routine handle the I18N transcoding to
  8960.           internal UTF-8 This routine is used when operating the
  8961.           parser in normal (pull) mode  TODO: one should be able to
  8962.           remove one extra copy by copying directly onto in->buffer
  8963.            or in->raw '''
  8964.         ret = libxml2mod.xmlParserInputBufferGrow(self._o, len)
  8965.         return ret
  8966.  
  8967.     
  8968.     def push(self, len, buf):
  8969.         '''Push the content of the arry in the input buffer This
  8970.           routine handle the I18N transcoding to internal UTF-8 This
  8971.           is used when operating the parser in progressive (push)
  8972.            mode. '''
  8973.         ret = libxml2mod.xmlParserInputBufferPush(self._o, len, buf)
  8974.         return ret
  8975.  
  8976.     
  8977.     def read(self, len):
  8978.         '''Refresh the content of the input buffer, the old data are
  8979.           considered consumed This routine handle the I18N
  8980.            transcoding to internal UTF-8 '''
  8981.         ret = libxml2mod.xmlParserInputBufferRead(self._o, len)
  8982.         return ret
  8983.  
  8984.     
  8985.     def Setup(self, reader, URL, encoding, options):
  8986.         '''Setup an XML reader with new options '''
  8987.         if reader is None:
  8988.             reader__o = None
  8989.         else:
  8990.             reader__o = reader._o
  8991.         ret = libxml2mod.xmlTextReaderSetup(reader__o, self._o, URL, encoding, options)
  8992.         return ret
  8993.  
  8994.     
  8995.     def newTextReader(self, URI):
  8996.         '''Create an xmlTextReader structure fed with @input '''
  8997.         ret = libxml2mod.xmlNewTextReader(self._o, URI)
  8998.         if ret is None:
  8999.             raise treeError('xmlNewTextReader() failed')
  9000.         ret is None
  9001.         _inputBuffer__tmp = xmlTextReader(_obj = ret)
  9002.         _inputBuffer__tmp.input = self
  9003.         return _inputBuffer__tmp
  9004.  
  9005.  
  9006.  
  9007. class relaxNgParserCtxt:
  9008.     
  9009.     def __init__(self, _obj = None):
  9010.         if _obj != None:
  9011.             self._o = _obj
  9012.             return None
  9013.         self._o = None
  9014.  
  9015.     
  9016.     def __del__(self):
  9017.         if self._o != None:
  9018.             libxml2mod.xmlRelaxNGFreeParserCtxt(self._o)
  9019.         
  9020.         self._o = None
  9021.  
  9022.     
  9023.     def relaxNGParse(self):
  9024.         '''parse a schema definition resource and build an internal
  9025.            XML Shema struture which can be used to validate instances. '''
  9026.         ret = libxml2mod.xmlRelaxNGParse(self._o)
  9027.         if ret is None:
  9028.             raise parserError('xmlRelaxNGParse() failed')
  9029.         ret is None
  9030.         _relaxNgParserCtxt__tmp = relaxNgSchema(_obj = ret)
  9031.         return _relaxNgParserCtxt__tmp
  9032.  
  9033.     
  9034.     def relaxParserSetFlag(self, flags):
  9035.         '''Semi private function used to pass informations to a parser
  9036.            context which are a combination of xmlRelaxNGParserFlag . '''
  9037.         ret = libxml2mod.xmlRelaxParserSetFlag(self._o, flags)
  9038.         return ret
  9039.  
  9040.  
  9041.  
  9042. class outputBuffer(ioWriteWrapper):
  9043.     
  9044.     def __init__(self, _obj = None):
  9045.         self._o = _obj
  9046.         ioWriteWrapper.__init__(self, _obj = _obj)
  9047.  
  9048.     
  9049.     def htmlDocContentDumpFormatOutput(self, cur, encoding, format):
  9050.         '''Dump an HTML document. '''
  9051.         if cur is None:
  9052.             cur__o = None
  9053.         else:
  9054.             cur__o = cur._o
  9055.         libxml2mod.htmlDocContentDumpFormatOutput(self._o, cur__o, encoding, format)
  9056.  
  9057.     
  9058.     def htmlDocContentDumpOutput(self, cur, encoding):
  9059.         '''Dump an HTML document. Formating return/spaces are added. '''
  9060.         if cur is None:
  9061.             cur__o = None
  9062.         else:
  9063.             cur__o = cur._o
  9064.         libxml2mod.htmlDocContentDumpOutput(self._o, cur__o, encoding)
  9065.  
  9066.     
  9067.     def htmlNodeDumpFormatOutput(self, doc, cur, encoding, format):
  9068.         '''Dump an HTML node, recursive behaviour,children are printed
  9069.            too. '''
  9070.         if doc is None:
  9071.             doc__o = None
  9072.         else:
  9073.             doc__o = doc._o
  9074.         if cur is None:
  9075.             cur__o = None
  9076.         else:
  9077.             cur__o = cur._o
  9078.         libxml2mod.htmlNodeDumpFormatOutput(self._o, doc__o, cur__o, encoding, format)
  9079.  
  9080.     
  9081.     def htmlNodeDumpOutput(self, doc, cur, encoding):
  9082.         '''Dump an HTML node, recursive behaviour,children are printed
  9083.            too, and formatting returns/spaces are added. '''
  9084.         if doc is None:
  9085.             doc__o = None
  9086.         else:
  9087.             doc__o = doc._o
  9088.         if cur is None:
  9089.             cur__o = None
  9090.         else:
  9091.             cur__o = cur._o
  9092.         libxml2mod.htmlNodeDumpOutput(self._o, doc__o, cur__o, encoding)
  9093.  
  9094.     
  9095.     def nodeDumpOutput(self, doc, cur, level, format, encoding):
  9096.         '''Dump an XML node, recursive behaviour, children are printed
  9097.           too. Note that @format = 1 provide node indenting only if
  9098.           xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
  9099.            called '''
  9100.         if doc is None:
  9101.             doc__o = None
  9102.         else:
  9103.             doc__o = doc._o
  9104.         if cur is None:
  9105.             cur__o = None
  9106.         else:
  9107.             cur__o = cur._o
  9108.         libxml2mod.xmlNodeDumpOutput(self._o, doc__o, cur__o, level, format, encoding)
  9109.  
  9110.     
  9111.     def saveFileTo(self, cur, encoding):
  9112.         '''Dump an XML document to an I/O buffer. Warning ! This call
  9113.           xmlOutputBufferClose() on buf which is not available after
  9114.            this call. '''
  9115.         if cur is None:
  9116.             cur__o = None
  9117.         else:
  9118.             cur__o = cur._o
  9119.         ret = libxml2mod.xmlSaveFileTo(self._o, cur__o, encoding)
  9120.         return ret
  9121.  
  9122.     
  9123.     def saveFormatFileTo(self, cur, encoding, format):
  9124.         '''Dump an XML document to an I/O buffer. Warning ! This call
  9125.           xmlOutputBufferClose() on buf which is not available after
  9126.            this call. '''
  9127.         if cur is None:
  9128.             cur__o = None
  9129.         else:
  9130.             cur__o = cur._o
  9131.         ret = libxml2mod.xmlSaveFormatFileTo(self._o, cur__o, encoding, format)
  9132.         return ret
  9133.  
  9134.     
  9135.     def write(self, len, buf):
  9136.         '''Write the content of the array in the output I/O buffer
  9137.           This routine handle the I18N transcoding from internal
  9138.           UTF-8 The buffer is lossless, i.e. will store in case of
  9139.            partial or delayed writes. '''
  9140.         ret = libxml2mod.xmlOutputBufferWrite(self._o, len, buf)
  9141.         return ret
  9142.  
  9143.     
  9144.     def writeString(self, str):
  9145.         '''Write the content of the string in the output I/O buffer
  9146.           This routine handle the I18N transcoding from internal
  9147.           UTF-8 The buffer is lossless, i.e. will store in case of
  9148.            partial or delayed writes. '''
  9149.         ret = libxml2mod.xmlOutputBufferWriteString(self._o, str)
  9150.         return ret
  9151.  
  9152.  
  9153.  
  9154. class SchemaParserCtxt:
  9155.     
  9156.     def __init__(self, _obj = None):
  9157.         if _obj != None:
  9158.             self._o = _obj
  9159.             return None
  9160.         self._o = None
  9161.  
  9162.     
  9163.     def __del__(self):
  9164.         if self._o != None:
  9165.             libxml2mod.xmlSchemaFreeParserCtxt(self._o)
  9166.         
  9167.         self._o = None
  9168.  
  9169.     
  9170.     def schemaParse(self):
  9171.         '''parse a schema definition resource and build an internal
  9172.            XML Shema struture which can be used to validate instances. '''
  9173.         ret = libxml2mod.xmlSchemaParse(self._o)
  9174.         if ret is None:
  9175.             raise parserError('xmlSchemaParse() failed')
  9176.         ret is None
  9177.         _SchemaParserCtxt__tmp = Schema(_obj = ret)
  9178.         return _SchemaParserCtxt__tmp
  9179.  
  9180.  
  9181.  
  9182. class SchemaValidCtxt(SchemaValidCtxtCore):
  9183.     
  9184.     def __init__(self, _obj = None):
  9185.         self.schema = None
  9186.         self._o = _obj
  9187.         SchemaValidCtxtCore.__init__(self, _obj = _obj)
  9188.  
  9189.     
  9190.     def __del__(self):
  9191.         if self._o != None:
  9192.             libxml2mod.xmlSchemaFreeValidCtxt(self._o)
  9193.         
  9194.         self._o = None
  9195.  
  9196.     
  9197.     def SchemaValidateCtxt(self, reader, options):
  9198.         '''Use W3C XSD schema context to validate the document as it
  9199.           is processed. Activation is only possible before the first
  9200.           Read(). If @ctxt is None, then XML Schema validation is
  9201.            deactivated. '''
  9202.         if reader is None:
  9203.             reader__o = None
  9204.         else:
  9205.             reader__o = reader._o
  9206.         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(reader__o, self._o, options)
  9207.         return ret
  9208.  
  9209.     
  9210.     def schemaIsValid(self):
  9211.         '''Check if any error was detected during validation. '''
  9212.         ret = libxml2mod.xmlSchemaIsValid(self._o)
  9213.         return ret
  9214.  
  9215.     
  9216.     def schemaSetValidOptions(self, options):
  9217.         '''Sets the options to be used during the validation. '''
  9218.         ret = libxml2mod.xmlSchemaSetValidOptions(self._o, options)
  9219.         return ret
  9220.  
  9221.     
  9222.     def schemaValidCtxtGetOptions(self):
  9223.         '''Get the validation context options. '''
  9224.         ret = libxml2mod.xmlSchemaValidCtxtGetOptions(self._o)
  9225.         return ret
  9226.  
  9227.     
  9228.     def schemaValidCtxtGetParserCtxt(self):
  9229.         '''allow access to the parser context of the schema validation
  9230.            context '''
  9231.         ret = libxml2mod.xmlSchemaValidCtxtGetParserCtxt(self._o)
  9232.         if ret is None:
  9233.             raise parserError('xmlSchemaValidCtxtGetParserCtxt() failed')
  9234.         ret is None
  9235.         _SchemaValidCtxt__tmp = parserCtxt(_obj = ret)
  9236.         return _SchemaValidCtxt__tmp
  9237.  
  9238.     
  9239.     def schemaValidateDoc(self, doc):
  9240.         '''Validate a document tree in memory. '''
  9241.         if doc is None:
  9242.             doc__o = None
  9243.         else:
  9244.             doc__o = doc._o
  9245.         ret = libxml2mod.xmlSchemaValidateDoc(self._o, doc__o)
  9246.         return ret
  9247.  
  9248.     
  9249.     def schemaValidateFile(self, filename, options):
  9250.         '''Do a schemas validation of the given resource, it will use
  9251.            the SAX streamable validation internally. '''
  9252.         ret = libxml2mod.xmlSchemaValidateFile(self._o, filename, options)
  9253.         return ret
  9254.  
  9255.     
  9256.     def schemaValidateOneElement(self, elem):
  9257.         '''Validate a branch of a tree, starting with the given @elem. '''
  9258.         if elem is None:
  9259.             elem__o = None
  9260.         else:
  9261.             elem__o = elem._o
  9262.         ret = libxml2mod.xmlSchemaValidateOneElement(self._o, elem__o)
  9263.         return ret
  9264.  
  9265.  
  9266.  
  9267. class xmlTextReaderLocator:
  9268.     
  9269.     def __init__(self, _obj = None):
  9270.         if _obj != None:
  9271.             self._o = _obj
  9272.             return None
  9273.         self._o = None
  9274.  
  9275.     
  9276.     def BaseURI(self):
  9277.         '''Obtain the base URI for the given locator. '''
  9278.         ret = libxml2mod.xmlTextReaderLocatorBaseURI(self._o)
  9279.         return ret
  9280.  
  9281.     
  9282.     def LineNumber(self):
  9283.         '''Obtain the line number for the given locator. '''
  9284.         ret = libxml2mod.xmlTextReaderLocatorLineNumber(self._o)
  9285.         return ret
  9286.  
  9287.  
  9288.  
  9289. class URI:
  9290.     
  9291.     def __init__(self, _obj = None):
  9292.         if _obj != None:
  9293.             self._o = _obj
  9294.             return None
  9295.         self._o = None
  9296.  
  9297.     
  9298.     def __del__(self):
  9299.         if self._o != None:
  9300.             libxml2mod.xmlFreeURI(self._o)
  9301.         
  9302.         self._o = None
  9303.  
  9304.     
  9305.     def authority(self):
  9306.         '''Get the authority part from an URI '''
  9307.         ret = libxml2mod.xmlURIGetAuthority(self._o)
  9308.         return ret
  9309.  
  9310.     
  9311.     def fragment(self):
  9312.         '''Get the fragment part from an URI '''
  9313.         ret = libxml2mod.xmlURIGetFragment(self._o)
  9314.         return ret
  9315.  
  9316.     
  9317.     def opaque(self):
  9318.         '''Get the opaque part from an URI '''
  9319.         ret = libxml2mod.xmlURIGetOpaque(self._o)
  9320.         return ret
  9321.  
  9322.     
  9323.     def path(self):
  9324.         '''Get the path part from an URI '''
  9325.         ret = libxml2mod.xmlURIGetPath(self._o)
  9326.         return ret
  9327.  
  9328.     
  9329.     def port(self):
  9330.         '''Get the port part from an URI '''
  9331.         ret = libxml2mod.xmlURIGetPort(self._o)
  9332.         return ret
  9333.  
  9334.     
  9335.     def query(self):
  9336.         '''Get the query part from an URI '''
  9337.         ret = libxml2mod.xmlURIGetQuery(self._o)
  9338.         return ret
  9339.  
  9340.     
  9341.     def queryRaw(self):
  9342.         '''Get the raw query part from an URI (i.e. the unescaped
  9343.            form). '''
  9344.         ret = libxml2mod.xmlURIGetQueryRaw(self._o)
  9345.         return ret
  9346.  
  9347.     
  9348.     def scheme(self):
  9349.         '''Get the scheme part from an URI '''
  9350.         ret = libxml2mod.xmlURIGetScheme(self._o)
  9351.         return ret
  9352.  
  9353.     
  9354.     def server(self):
  9355.         '''Get the server part from an URI '''
  9356.         ret = libxml2mod.xmlURIGetServer(self._o)
  9357.         return ret
  9358.  
  9359.     
  9360.     def setAuthority(self, authority):
  9361.         '''Set the authority part of an URI. '''
  9362.         libxml2mod.xmlURISetAuthority(self._o, authority)
  9363.  
  9364.     
  9365.     def setFragment(self, fragment):
  9366.         '''Set the fragment part of an URI. '''
  9367.         libxml2mod.xmlURISetFragment(self._o, fragment)
  9368.  
  9369.     
  9370.     def setOpaque(self, opaque):
  9371.         '''Set the opaque part of an URI. '''
  9372.         libxml2mod.xmlURISetOpaque(self._o, opaque)
  9373.  
  9374.     
  9375.     def setPath(self, path):
  9376.         '''Set the path part of an URI. '''
  9377.         libxml2mod.xmlURISetPath(self._o, path)
  9378.  
  9379.     
  9380.     def setPort(self, port):
  9381.         '''Set the port part of an URI. '''
  9382.         libxml2mod.xmlURISetPort(self._o, port)
  9383.  
  9384.     
  9385.     def setQuery(self, query):
  9386.         '''Set the query part of an URI. '''
  9387.         libxml2mod.xmlURISetQuery(self._o, query)
  9388.  
  9389.     
  9390.     def setQueryRaw(self, query_raw):
  9391.         '''Set the raw query part of an URI (i.e. the unescaped form). '''
  9392.         libxml2mod.xmlURISetQueryRaw(self._o, query_raw)
  9393.  
  9394.     
  9395.     def setScheme(self, scheme):
  9396.         '''Set the scheme part of an URI. '''
  9397.         libxml2mod.xmlURISetScheme(self._o, scheme)
  9398.  
  9399.     
  9400.     def setServer(self, server):
  9401.         '''Set the server part of an URI. '''
  9402.         libxml2mod.xmlURISetServer(self._o, server)
  9403.  
  9404.     
  9405.     def setUser(self, user):
  9406.         '''Set the user part of an URI. '''
  9407.         libxml2mod.xmlURISetUser(self._o, user)
  9408.  
  9409.     
  9410.     def user(self):
  9411.         '''Get the user part from an URI '''
  9412.         ret = libxml2mod.xmlURIGetUser(self._o)
  9413.         return ret
  9414.  
  9415.     
  9416.     def parseURIReference(self, str):
  9417.         '''Parse an URI reference string based on RFC 3986 and fills
  9418.           in the appropriate fields of the @uri structure 
  9419.            URI-reference = URI / relative-ref '''
  9420.         ret = libxml2mod.xmlParseURIReference(self._o, str)
  9421.         return ret
  9422.  
  9423.     
  9424.     def printURI(self, stream):
  9425.         '''Prints the URI in the stream @stream. '''
  9426.         libxml2mod.xmlPrintURI(stream, self._o)
  9427.  
  9428.     
  9429.     def saveUri(self):
  9430.         '''Save the URI as an escaped string '''
  9431.         ret = libxml2mod.xmlSaveUri(self._o)
  9432.         return ret
  9433.  
  9434.  
  9435. XLINK_SHOW_NONE = 0
  9436. XLINK_SHOW_NEW = 1
  9437. XLINK_SHOW_EMBED = 2
  9438. XLINK_SHOW_REPLACE = 3
  9439. XML_RELAXNGP_NONE = 0
  9440. XML_RELAXNGP_FREE_DOC = 1
  9441. XML_RELAXNGP_CRNG = 2
  9442. XML_BUFFER_ALLOC_DOUBLEIT = 1
  9443. XML_BUFFER_ALLOC_EXACT = 2
  9444. XML_BUFFER_ALLOC_IMMUTABLE = 3
  9445. XML_BUFFER_ALLOC_IO = 4
  9446. XML_PARSER_SEVERITY_VALIDITY_WARNING = 1
  9447. XML_PARSER_SEVERITY_VALIDITY_ERROR = 2
  9448. XML_PARSER_SEVERITY_WARNING = 3
  9449. XML_PARSER_SEVERITY_ERROR = 4
  9450. XML_ATTRIBUTE_NONE = 1
  9451. XML_ATTRIBUTE_REQUIRED = 2
  9452. XML_ATTRIBUTE_IMPLIED = 3
  9453. XML_ATTRIBUTE_FIXED = 4
  9454. XML_SCHEMAS_UNKNOWN = 0
  9455. XML_SCHEMAS_STRING = 1
  9456. XML_SCHEMAS_NORMSTRING = 2
  9457. XML_SCHEMAS_DECIMAL = 3
  9458. XML_SCHEMAS_TIME = 4
  9459. XML_SCHEMAS_GDAY = 5
  9460. XML_SCHEMAS_GMONTH = 6
  9461. XML_SCHEMAS_GMONTHDAY = 7
  9462. XML_SCHEMAS_GYEAR = 8
  9463. XML_SCHEMAS_GYEARMONTH = 9
  9464. XML_SCHEMAS_DATE = 10
  9465. XML_SCHEMAS_DATETIME = 11
  9466. XML_SCHEMAS_DURATION = 12
  9467. XML_SCHEMAS_FLOAT = 13
  9468. XML_SCHEMAS_DOUBLE = 14
  9469. XML_SCHEMAS_BOOLEAN = 15
  9470. XML_SCHEMAS_TOKEN = 16
  9471. XML_SCHEMAS_LANGUAGE = 17
  9472. XML_SCHEMAS_NMTOKEN = 18
  9473. XML_SCHEMAS_NMTOKENS = 19
  9474. XML_SCHEMAS_NAME = 20
  9475. XML_SCHEMAS_QNAME = 21
  9476. XML_SCHEMAS_NCNAME = 22
  9477. XML_SCHEMAS_ID = 23
  9478. XML_SCHEMAS_IDREF = 24
  9479. XML_SCHEMAS_IDREFS = 25
  9480. XML_SCHEMAS_ENTITY = 26
  9481. XML_SCHEMAS_ENTITIES = 27
  9482. XML_SCHEMAS_NOTATION = 28
  9483. XML_SCHEMAS_ANYURI = 29
  9484. XML_SCHEMAS_INTEGER = 30
  9485. XML_SCHEMAS_NPINTEGER = 31
  9486. XML_SCHEMAS_NINTEGER = 32
  9487. XML_SCHEMAS_NNINTEGER = 33
  9488. XML_SCHEMAS_PINTEGER = 34
  9489. XML_SCHEMAS_INT = 35
  9490. XML_SCHEMAS_UINT = 36
  9491. XML_SCHEMAS_LONG = 37
  9492. XML_SCHEMAS_ULONG = 38
  9493. XML_SCHEMAS_SHORT = 39
  9494. XML_SCHEMAS_USHORT = 40
  9495. XML_SCHEMAS_BYTE = 41
  9496. XML_SCHEMAS_UBYTE = 42
  9497. XML_SCHEMAS_HEXBINARY = 43
  9498. XML_SCHEMAS_BASE64BINARY = 44
  9499. XML_SCHEMAS_ANYTYPE = 45
  9500. XML_SCHEMAS_ANYSIMPLETYPE = 46
  9501. XML_PARSER_EOF = -1
  9502. XML_PARSER_START = 0
  9503. XML_PARSER_MISC = 1
  9504. XML_PARSER_PI = 2
  9505. XML_PARSER_DTD = 3
  9506. XML_PARSER_PROLOG = 4
  9507. XML_PARSER_COMMENT = 5
  9508. XML_PARSER_START_TAG = 6
  9509. XML_PARSER_CONTENT = 7
  9510. XML_PARSER_CDATA_SECTION = 8
  9511. XML_PARSER_END_TAG = 9
  9512. XML_PARSER_ENTITY_DECL = 10
  9513. XML_PARSER_ENTITY_VALUE = 11
  9514. XML_PARSER_ATTRIBUTE_VALUE = 12
  9515. XML_PARSER_SYSTEM_LITERAL = 13
  9516. XML_PARSER_EPILOG = 14
  9517. XML_PARSER_IGNORE = 15
  9518. XML_PARSER_PUBLIC_LITERAL = 16
  9519. XML_INTERNAL_GENERAL_ENTITY = 1
  9520. XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2
  9521. XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3
  9522. XML_INTERNAL_PARAMETER_ENTITY = 4
  9523. XML_EXTERNAL_PARAMETER_ENTITY = 5
  9524. XML_INTERNAL_PREDEFINED_ENTITY = 6
  9525. XML_SAVE_FORMAT = 1
  9526. XML_SAVE_NO_DECL = 2
  9527. XML_SAVE_NO_EMPTY = 4
  9528. XML_SAVE_NO_XHTML = 8
  9529. XML_SAVE_XHTML = 16
  9530. XML_SAVE_AS_XML = 32
  9531. XML_SAVE_AS_HTML = 64
  9532. XML_PATTERN_DEFAULT = 0
  9533. XML_PATTERN_XPATH = 1
  9534. XML_PATTERN_XSSEL = 2
  9535. XML_PATTERN_XSFIELD = 4
  9536. XML_ERR_OK = 0
  9537. XML_ERR_INTERNAL_ERROR = 1
  9538. XML_ERR_NO_MEMORY = 2
  9539. XML_ERR_DOCUMENT_START = 3
  9540. XML_ERR_DOCUMENT_EMPTY = 4
  9541. XML_ERR_DOCUMENT_END = 5
  9542. XML_ERR_INVALID_HEX_CHARREF = 6
  9543. XML_ERR_INVALID_DEC_CHARREF = 7
  9544. XML_ERR_INVALID_CHARREF = 8
  9545. XML_ERR_INVALID_CHAR = 9
  9546. XML_ERR_CHARREF_AT_EOF = 10
  9547. XML_ERR_CHARREF_IN_PROLOG = 11
  9548. XML_ERR_CHARREF_IN_EPILOG = 12
  9549. XML_ERR_CHARREF_IN_DTD = 13
  9550. XML_ERR_ENTITYREF_AT_EOF = 14
  9551. XML_ERR_ENTITYREF_IN_PROLOG = 15
  9552. XML_ERR_ENTITYREF_IN_EPILOG = 16
  9553. XML_ERR_ENTITYREF_IN_DTD = 17
  9554. XML_ERR_PEREF_AT_EOF = 18
  9555. XML_ERR_PEREF_IN_PROLOG = 19
  9556. XML_ERR_PEREF_IN_EPILOG = 20
  9557. XML_ERR_PEREF_IN_INT_SUBSET = 21
  9558. XML_ERR_ENTITYREF_NO_NAME = 22
  9559. XML_ERR_ENTITYREF_SEMICOL_MISSING = 23
  9560. XML_ERR_PEREF_NO_NAME = 24
  9561. XML_ERR_PEREF_SEMICOL_MISSING = 25
  9562. XML_ERR_UNDECLARED_ENTITY = 26
  9563. XML_WAR_UNDECLARED_ENTITY = 27
  9564. XML_ERR_UNPARSED_ENTITY = 28
  9565. XML_ERR_ENTITY_IS_EXTERNAL = 29
  9566. XML_ERR_ENTITY_IS_PARAMETER = 30
  9567. XML_ERR_UNKNOWN_ENCODING = 31
  9568. XML_ERR_UNSUPPORTED_ENCODING = 32
  9569. XML_ERR_STRING_NOT_STARTED = 33
  9570. XML_ERR_STRING_NOT_CLOSED = 34
  9571. XML_ERR_NS_DECL_ERROR = 35
  9572. XML_ERR_ENTITY_NOT_STARTED = 36
  9573. XML_ERR_ENTITY_NOT_FINISHED = 37
  9574. XML_ERR_LT_IN_ATTRIBUTE = 38
  9575. XML_ERR_ATTRIBUTE_NOT_STARTED = 39
  9576. XML_ERR_ATTRIBUTE_NOT_FINISHED = 40
  9577. XML_ERR_ATTRIBUTE_WITHOUT_VALUE = 41
  9578. XML_ERR_ATTRIBUTE_REDEFINED = 42
  9579. XML_ERR_LITERAL_NOT_STARTED = 43
  9580. XML_ERR_LITERAL_NOT_FINISHED = 44
  9581. XML_ERR_COMMENT_NOT_FINISHED = 45
  9582. XML_ERR_PI_NOT_STARTED = 46
  9583. XML_ERR_PI_NOT_FINISHED = 47
  9584. XML_ERR_NOTATION_NOT_STARTED = 48
  9585. XML_ERR_NOTATION_NOT_FINISHED = 49
  9586. XML_ERR_ATTLIST_NOT_STARTED = 50
  9587. XML_ERR_ATTLIST_NOT_FINISHED = 51
  9588. XML_ERR_MIXED_NOT_STARTED = 52
  9589. XML_ERR_MIXED_NOT_FINISHED = 53
  9590. XML_ERR_ELEMCONTENT_NOT_STARTED = 54
  9591. XML_ERR_ELEMCONTENT_NOT_FINISHED = 55
  9592. XML_ERR_XMLDECL_NOT_STARTED = 56
  9593. XML_ERR_XMLDECL_NOT_FINISHED = 57
  9594. XML_ERR_CONDSEC_NOT_STARTED = 58
  9595. XML_ERR_CONDSEC_NOT_FINISHED = 59
  9596. XML_ERR_EXT_SUBSET_NOT_FINISHED = 60
  9597. XML_ERR_DOCTYPE_NOT_FINISHED = 61
  9598. XML_ERR_MISPLACED_CDATA_END = 62
  9599. XML_ERR_CDATA_NOT_FINISHED = 63
  9600. XML_ERR_RESERVED_XML_NAME = 64
  9601. XML_ERR_SPACE_REQUIRED = 65
  9602. XML_ERR_SEPARATOR_REQUIRED = 66
  9603. XML_ERR_NMTOKEN_REQUIRED = 67
  9604. XML_ERR_NAME_REQUIRED = 68
  9605. XML_ERR_PCDATA_REQUIRED = 69
  9606. XML_ERR_URI_REQUIRED = 70
  9607. XML_ERR_PUBID_REQUIRED = 71
  9608. XML_ERR_LT_REQUIRED = 72
  9609. XML_ERR_GT_REQUIRED = 73
  9610. XML_ERR_LTSLASH_REQUIRED = 74
  9611. XML_ERR_EQUAL_REQUIRED = 75
  9612. XML_ERR_TAG_NAME_MISMATCH = 76
  9613. XML_ERR_TAG_NOT_FINISHED = 77
  9614. XML_ERR_STANDALONE_VALUE = 78
  9615. XML_ERR_ENCODING_NAME = 79
  9616. XML_ERR_HYPHEN_IN_COMMENT = 80
  9617. XML_ERR_INVALID_ENCODING = 81
  9618. XML_ERR_EXT_ENTITY_STANDALONE = 82
  9619. XML_ERR_CONDSEC_INVALID = 83
  9620. XML_ERR_VALUE_REQUIRED = 84
  9621. XML_ERR_NOT_WELL_BALANCED = 85
  9622. XML_ERR_EXTRA_CONTENT = 86
  9623. XML_ERR_ENTITY_CHAR_ERROR = 87
  9624. XML_ERR_ENTITY_PE_INTERNAL = 88
  9625. XML_ERR_ENTITY_LOOP = 89
  9626. XML_ERR_ENTITY_BOUNDARY = 90
  9627. XML_ERR_INVALID_URI = 91
  9628. XML_ERR_URI_FRAGMENT = 92
  9629. XML_WAR_CATALOG_PI = 93
  9630. XML_ERR_NO_DTD = 94
  9631. XML_ERR_CONDSEC_INVALID_KEYWORD = 95
  9632. XML_ERR_VERSION_MISSING = 96
  9633. XML_WAR_UNKNOWN_VERSION = 97
  9634. XML_WAR_LANG_VALUE = 98
  9635. XML_WAR_NS_URI = 99
  9636. XML_WAR_NS_URI_RELATIVE = 100
  9637. XML_ERR_MISSING_ENCODING = 101
  9638. XML_WAR_SPACE_VALUE = 102
  9639. XML_ERR_NOT_STANDALONE = 103
  9640. XML_ERR_ENTITY_PROCESSING = 104
  9641. XML_ERR_NOTATION_PROCESSING = 105
  9642. XML_WAR_NS_COLUMN = 106
  9643. XML_WAR_ENTITY_REDEFINED = 107
  9644. XML_ERR_UNKNOWN_VERSION = 108
  9645. XML_ERR_VERSION_MISMATCH = 109
  9646. XML_NS_ERR_XML_NAMESPACE = 200
  9647. XML_NS_ERR_UNDEFINED_NAMESPACE = 201
  9648. XML_NS_ERR_QNAME = 202
  9649. XML_NS_ERR_ATTRIBUTE_REDEFINED = 203
  9650. XML_NS_ERR_EMPTY = 204
  9651. XML_NS_ERR_COLON = 205
  9652. XML_DTD_ATTRIBUTE_DEFAULT = 500
  9653. XML_DTD_ATTRIBUTE_REDEFINED = 501
  9654. XML_DTD_ATTRIBUTE_VALUE = 502
  9655. XML_DTD_CONTENT_ERROR = 503
  9656. XML_DTD_CONTENT_MODEL = 504
  9657. XML_DTD_CONTENT_NOT_DETERMINIST = 505
  9658. XML_DTD_DIFFERENT_PREFIX = 506
  9659. XML_DTD_ELEM_DEFAULT_NAMESPACE = 507
  9660. XML_DTD_ELEM_NAMESPACE = 508
  9661. XML_DTD_ELEM_REDEFINED = 509
  9662. XML_DTD_EMPTY_NOTATION = 510
  9663. XML_DTD_ENTITY_TYPE = 511
  9664. XML_DTD_ID_FIXED = 512
  9665. XML_DTD_ID_REDEFINED = 513
  9666. XML_DTD_ID_SUBSET = 514
  9667. XML_DTD_INVALID_CHILD = 515
  9668. XML_DTD_INVALID_DEFAULT = 516
  9669. XML_DTD_LOAD_ERROR = 517
  9670. XML_DTD_MISSING_ATTRIBUTE = 518
  9671. XML_DTD_MIXED_CORRUPT = 519
  9672. XML_DTD_MULTIPLE_ID = 520
  9673. XML_DTD_NO_DOC = 521
  9674. XML_DTD_NO_DTD = 522
  9675. XML_DTD_NO_ELEM_NAME = 523
  9676. XML_DTD_NO_PREFIX = 524
  9677. XML_DTD_NO_ROOT = 525
  9678. XML_DTD_NOTATION_REDEFINED = 526
  9679. XML_DTD_NOTATION_VALUE = 527
  9680. XML_DTD_NOT_EMPTY = 528
  9681. XML_DTD_NOT_PCDATA = 529
  9682. XML_DTD_NOT_STANDALONE = 530
  9683. XML_DTD_ROOT_NAME = 531
  9684. XML_DTD_STANDALONE_WHITE_SPACE = 532
  9685. XML_DTD_UNKNOWN_ATTRIBUTE = 533
  9686. XML_DTD_UNKNOWN_ELEM = 534
  9687. XML_DTD_UNKNOWN_ENTITY = 535
  9688. XML_DTD_UNKNOWN_ID = 536
  9689. XML_DTD_UNKNOWN_NOTATION = 537
  9690. XML_DTD_STANDALONE_DEFAULTED = 538
  9691. XML_DTD_XMLID_VALUE = 539
  9692. XML_DTD_XMLID_TYPE = 540
  9693. XML_DTD_DUP_TOKEN = 541
  9694. XML_HTML_STRUCURE_ERROR = 800
  9695. XML_HTML_UNKNOWN_TAG = 801
  9696. XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000
  9697. XML_RNGP_ATTR_CONFLICT = 1001
  9698. XML_RNGP_ATTRIBUTE_CHILDREN = 1002
  9699. XML_RNGP_ATTRIBUTE_CONTENT = 1003
  9700. XML_RNGP_ATTRIBUTE_EMPTY = 1004
  9701. XML_RNGP_ATTRIBUTE_NOOP = 1005
  9702. XML_RNGP_CHOICE_CONTENT = 1006
  9703. XML_RNGP_CHOICE_EMPTY = 1007
  9704. XML_RNGP_CREATE_FAILURE = 1008
  9705. XML_RNGP_DATA_CONTENT = 1009
  9706. XML_RNGP_DEF_CHOICE_AND_INTERLEAVE = 1010
  9707. XML_RNGP_DEFINE_CREATE_FAILED = 1011
  9708. XML_RNGP_DEFINE_EMPTY = 1012
  9709. XML_RNGP_DEFINE_MISSING = 1013
  9710. XML_RNGP_DEFINE_NAME_MISSING = 1014
  9711. XML_RNGP_ELEM_CONTENT_EMPTY = 1015
  9712. XML_RNGP_ELEM_CONTENT_ERROR = 1016
  9713. XML_RNGP_ELEMENT_EMPTY = 1017
  9714. XML_RNGP_ELEMENT_CONTENT = 1018
  9715. XML_RNGP_ELEMENT_NAME = 1019
  9716. XML_RNGP_ELEMENT_NO_CONTENT = 1020
  9717. XML_RNGP_ELEM_TEXT_CONFLICT = 1021
  9718. XML_RNGP_EMPTY = 1022
  9719. XML_RNGP_EMPTY_CONSTRUCT = 1023
  9720. XML_RNGP_EMPTY_CONTENT = 1024
  9721. XML_RNGP_EMPTY_NOT_EMPTY = 1025
  9722. XML_RNGP_ERROR_TYPE_LIB = 1026
  9723. XML_RNGP_EXCEPT_EMPTY = 1027
  9724. XML_RNGP_EXCEPT_MISSING = 1028
  9725. XML_RNGP_EXCEPT_MULTIPLE = 1029
  9726. XML_RNGP_EXCEPT_NO_CONTENT = 1030
  9727. XML_RNGP_EXTERNALREF_EMTPY = 1031
  9728. XML_RNGP_EXTERNAL_REF_FAILURE = 1032
  9729. XML_RNGP_EXTERNALREF_RECURSE = 1033
  9730. XML_RNGP_FORBIDDEN_ATTRIBUTE = 1034
  9731. XML_RNGP_FOREIGN_ELEMENT = 1035
  9732. XML_RNGP_GRAMMAR_CONTENT = 1036
  9733. XML_RNGP_GRAMMAR_EMPTY = 1037
  9734. XML_RNGP_GRAMMAR_MISSING = 1038
  9735. XML_RNGP_GRAMMAR_NO_START = 1039
  9736. XML_RNGP_GROUP_ATTR_CONFLICT = 1040
  9737. XML_RNGP_HREF_ERROR = 1041
  9738. XML_RNGP_INCLUDE_EMPTY = 1042
  9739. XML_RNGP_INCLUDE_FAILURE = 1043
  9740. XML_RNGP_INCLUDE_RECURSE = 1044
  9741. XML_RNGP_INTERLEAVE_ADD = 1045
  9742. XML_RNGP_INTERLEAVE_CREATE_FAILED = 1046
  9743. XML_RNGP_INTERLEAVE_EMPTY = 1047
  9744. XML_RNGP_INTERLEAVE_NO_CONTENT = 1048
  9745. XML_RNGP_INVALID_DEFINE_NAME = 1049
  9746. XML_RNGP_INVALID_URI = 1050
  9747. XML_RNGP_INVALID_VALUE = 1051
  9748. XML_RNGP_MISSING_HREF = 1052
  9749. XML_RNGP_NAME_MISSING = 1053
  9750. XML_RNGP_NEED_COMBINE = 1054
  9751. XML_RNGP_NOTALLOWED_NOT_EMPTY = 1055
  9752. XML_RNGP_NSNAME_ATTR_ANCESTOR = 1056
  9753. XML_RNGP_NSNAME_NO_NS = 1057
  9754. XML_RNGP_PARAM_FORBIDDEN = 1058
  9755. XML_RNGP_PARAM_NAME_MISSING = 1059
  9756. XML_RNGP_PARENTREF_CREATE_FAILED = 1060
  9757. XML_RNGP_PARENTREF_NAME_INVALID = 1061
  9758. XML_RNGP_PARENTREF_NO_NAME = 1062
  9759. XML_RNGP_PARENTREF_NO_PARENT = 1063
  9760. XML_RNGP_PARENTREF_NOT_EMPTY = 1064
  9761. XML_RNGP_PARSE_ERROR = 1065
  9762. XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME = 1066
  9763. XML_RNGP_PAT_ATTR_ATTR = 1067
  9764. XML_RNGP_PAT_ATTR_ELEM = 1068
  9765. XML_RNGP_PAT_DATA_EXCEPT_ATTR = 1069
  9766. XML_RNGP_PAT_DATA_EXCEPT_ELEM = 1070
  9767. XML_RNGP_PAT_DATA_EXCEPT_EMPTY = 1071
  9768. XML_RNGP_PAT_DATA_EXCEPT_GROUP = 1072
  9769. XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE = 1073
  9770. XML_RNGP_PAT_DATA_EXCEPT_LIST = 1074
  9771. XML_RNGP_PAT_DATA_EXCEPT_ONEMORE = 1075
  9772. XML_RNGP_PAT_DATA_EXCEPT_REF = 1076
  9773. XML_RNGP_PAT_DATA_EXCEPT_TEXT = 1077
  9774. XML_RNGP_PAT_LIST_ATTR = 1078
  9775. XML_RNGP_PAT_LIST_ELEM = 1079
  9776. XML_RNGP_PAT_LIST_INTERLEAVE = 1080
  9777. XML_RNGP_PAT_LIST_LIST = 1081
  9778. XML_RNGP_PAT_LIST_REF = 1082
  9779. XML_RNGP_PAT_LIST_TEXT = 1083
  9780. XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME = 1084
  9781. XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME = 1085
  9782. XML_RNGP_PAT_ONEMORE_GROUP_ATTR = 1086
  9783. XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR = 1087
  9784. XML_RNGP_PAT_START_ATTR = 1088
  9785. XML_RNGP_PAT_START_DATA = 1089
  9786. XML_RNGP_PAT_START_EMPTY = 1090
  9787. XML_RNGP_PAT_START_GROUP = 1091
  9788. XML_RNGP_PAT_START_INTERLEAVE = 1092
  9789. XML_RNGP_PAT_START_LIST = 1093
  9790. XML_RNGP_PAT_START_ONEMORE = 1094
  9791. XML_RNGP_PAT_START_TEXT = 1095
  9792. XML_RNGP_PAT_START_VALUE = 1096
  9793. XML_RNGP_PREFIX_UNDEFINED = 1097
  9794. XML_RNGP_REF_CREATE_FAILED = 1098
  9795. XML_RNGP_REF_CYCLE = 1099
  9796. XML_RNGP_REF_NAME_INVALID = 1100
  9797. XML_RNGP_REF_NO_DEF = 1101
  9798. XML_RNGP_REF_NO_NAME = 1102
  9799. XML_RNGP_REF_NOT_EMPTY = 1103
  9800. XML_RNGP_START_CHOICE_AND_INTERLEAVE = 1104
  9801. XML_RNGP_START_CONTENT = 1105
  9802. XML_RNGP_START_EMPTY = 1106
  9803. XML_RNGP_START_MISSING = 1107
  9804. XML_RNGP_TEXT_EXPECTED = 1108
  9805. XML_RNGP_TEXT_HAS_CHILD = 1109
  9806. XML_RNGP_TYPE_MISSING = 1110
  9807. XML_RNGP_TYPE_NOT_FOUND = 1111
  9808. XML_RNGP_TYPE_VALUE = 1112
  9809. XML_RNGP_UNKNOWN_ATTRIBUTE = 1113
  9810. XML_RNGP_UNKNOWN_COMBINE = 1114
  9811. XML_RNGP_UNKNOWN_CONSTRUCT = 1115
  9812. XML_RNGP_UNKNOWN_TYPE_LIB = 1116
  9813. XML_RNGP_URI_FRAGMENT = 1117
  9814. XML_RNGP_URI_NOT_ABSOLUTE = 1118
  9815. XML_RNGP_VALUE_EMPTY = 1119
  9816. XML_RNGP_VALUE_NO_CONTENT = 1120
  9817. XML_RNGP_XMLNS_NAME = 1121
  9818. XML_RNGP_XML_NS = 1122
  9819. XML_XPATH_EXPRESSION_OK = 1200
  9820. XML_XPATH_NUMBER_ERROR = 1201
  9821. XML_XPATH_UNFINISHED_LITERAL_ERROR = 1202
  9822. XML_XPATH_START_LITERAL_ERROR = 1203
  9823. XML_XPATH_VARIABLE_REF_ERROR = 1204
  9824. XML_XPATH_UNDEF_VARIABLE_ERROR = 1205
  9825. XML_XPATH_INVALID_PREDICATE_ERROR = 1206
  9826. XML_XPATH_EXPR_ERROR = 1207
  9827. XML_XPATH_UNCLOSED_ERROR = 1208
  9828. XML_XPATH_UNKNOWN_FUNC_ERROR = 1209
  9829. XML_XPATH_INVALID_OPERAND = 1210
  9830. XML_XPATH_INVALID_TYPE = 1211
  9831. XML_XPATH_INVALID_ARITY = 1212
  9832. XML_XPATH_INVALID_CTXT_SIZE = 1213
  9833. XML_XPATH_INVALID_CTXT_POSITION = 1214
  9834. XML_XPATH_MEMORY_ERROR = 1215
  9835. XML_XPTR_SYNTAX_ERROR = 1216
  9836. XML_XPTR_RESOURCE_ERROR = 1217
  9837. XML_XPTR_SUB_RESOURCE_ERROR = 1218
  9838. XML_XPATH_UNDEF_PREFIX_ERROR = 1219
  9839. XML_XPATH_ENCODING_ERROR = 1220
  9840. XML_XPATH_INVALID_CHAR_ERROR = 1221
  9841. XML_TREE_INVALID_HEX = 1300
  9842. XML_TREE_INVALID_DEC = 1301
  9843. XML_TREE_UNTERMINATED_ENTITY = 1302
  9844. XML_TREE_NOT_UTF8 = 1303
  9845. XML_SAVE_NOT_UTF8 = 1400
  9846. XML_SAVE_CHAR_INVALID = 1401
  9847. XML_SAVE_NO_DOCTYPE = 1402
  9848. XML_SAVE_UNKNOWN_ENCODING = 1403
  9849. XML_REGEXP_COMPILE_ERROR = 1450
  9850. XML_IO_UNKNOWN = 1500
  9851. XML_IO_EACCES = 1501
  9852. XML_IO_EAGAIN = 1502
  9853. XML_IO_EBADF = 1503
  9854. XML_IO_EBADMSG = 1504
  9855. XML_IO_EBUSY = 1505
  9856. XML_IO_ECANCELED = 1506
  9857. XML_IO_ECHILD = 1507
  9858. XML_IO_EDEADLK = 1508
  9859. XML_IO_EDOM = 1509
  9860. XML_IO_EEXIST = 1510
  9861. XML_IO_EFAULT = 1511
  9862. XML_IO_EFBIG = 1512
  9863. XML_IO_EINPROGRESS = 1513
  9864. XML_IO_EINTR = 1514
  9865. XML_IO_EINVAL = 1515
  9866. XML_IO_EIO = 1516
  9867. XML_IO_EISDIR = 1517
  9868. XML_IO_EMFILE = 1518
  9869. XML_IO_EMLINK = 1519
  9870. XML_IO_EMSGSIZE = 1520
  9871. XML_IO_ENAMETOOLONG = 1521
  9872. XML_IO_ENFILE = 1522
  9873. XML_IO_ENODEV = 1523
  9874. XML_IO_ENOENT = 1524
  9875. XML_IO_ENOEXEC = 1525
  9876. XML_IO_ENOLCK = 1526
  9877. XML_IO_ENOMEM = 1527
  9878. XML_IO_ENOSPC = 1528
  9879. XML_IO_ENOSYS = 1529
  9880. XML_IO_ENOTDIR = 1530
  9881. XML_IO_ENOTEMPTY = 1531
  9882. XML_IO_ENOTSUP = 1532
  9883. XML_IO_ENOTTY = 1533
  9884. XML_IO_ENXIO = 1534
  9885. XML_IO_EPERM = 1535
  9886. XML_IO_EPIPE = 1536
  9887. XML_IO_ERANGE = 1537
  9888. XML_IO_EROFS = 1538
  9889. XML_IO_ESPIPE = 1539
  9890. XML_IO_ESRCH = 1540
  9891. XML_IO_ETIMEDOUT = 1541
  9892. XML_IO_EXDEV = 1542
  9893. XML_IO_NETWORK_ATTEMPT = 1543
  9894. XML_IO_ENCODER = 1544
  9895. XML_IO_FLUSH = 1545
  9896. XML_IO_WRITE = 1546
  9897. XML_IO_NO_INPUT = 1547
  9898. XML_IO_BUFFER_FULL = 1548
  9899. XML_IO_LOAD_ERROR = 1549
  9900. XML_IO_ENOTSOCK = 1550
  9901. XML_IO_EISCONN = 1551
  9902. XML_IO_ECONNREFUSED = 1552
  9903. XML_IO_ENETUNREACH = 1553
  9904. XML_IO_EADDRINUSE = 1554
  9905. XML_IO_EALREADY = 1555
  9906. XML_IO_EAFNOSUPPORT = 1556
  9907. XML_XINCLUDE_RECURSION = 1600
  9908. XML_XINCLUDE_PARSE_VALUE = 1601
  9909. XML_XINCLUDE_ENTITY_DEF_MISMATCH = 1602
  9910. XML_XINCLUDE_NO_HREF = 1603
  9911. XML_XINCLUDE_NO_FALLBACK = 1604
  9912. XML_XINCLUDE_HREF_URI = 1605
  9913. XML_XINCLUDE_TEXT_FRAGMENT = 1606
  9914. XML_XINCLUDE_TEXT_DOCUMENT = 1607
  9915. XML_XINCLUDE_INVALID_CHAR = 1608
  9916. XML_XINCLUDE_BUILD_FAILED = 1609
  9917. XML_XINCLUDE_UNKNOWN_ENCODING = 1610
  9918. XML_XINCLUDE_MULTIPLE_ROOT = 1611
  9919. XML_XINCLUDE_XPTR_FAILED = 1612
  9920. XML_XINCLUDE_XPTR_RESULT = 1613
  9921. XML_XINCLUDE_INCLUDE_IN_INCLUDE = 1614
  9922. XML_XINCLUDE_FALLBACKS_IN_INCLUDE = 1615
  9923. XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE = 1616
  9924. XML_XINCLUDE_DEPRECATED_NS = 1617
  9925. XML_XINCLUDE_FRAGMENT_ID = 1618
  9926. XML_CATALOG_MISSING_ATTR = 1650
  9927. XML_CATALOG_ENTRY_BROKEN = 1651
  9928. XML_CATALOG_PREFER_VALUE = 1652
  9929. XML_CATALOG_NOT_CATALOG = 1653
  9930. XML_CATALOG_RECURSION = 1654
  9931. XML_SCHEMAP_PREFIX_UNDEFINED = 1700
  9932. XML_SCHEMAP_ATTRFORMDEFAULT_VALUE = 1701
  9933. XML_SCHEMAP_ATTRGRP_NONAME_NOREF = 1702
  9934. XML_SCHEMAP_ATTR_NONAME_NOREF = 1703
  9935. XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF = 1704
  9936. XML_SCHEMAP_ELEMFORMDEFAULT_VALUE = 1705
  9937. XML_SCHEMAP_ELEM_NONAME_NOREF = 1706
  9938. XML_SCHEMAP_EXTENSION_NO_BASE = 1707
  9939. XML_SCHEMAP_FACET_NO_VALUE = 1708
  9940. XML_SCHEMAP_FAILED_BUILD_IMPORT = 1709
  9941. XML_SCHEMAP_GROUP_NONAME_NOREF = 1710
  9942. XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI = 1711
  9943. XML_SCHEMAP_IMPORT_REDEFINE_NSNAME = 1712
  9944. XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI = 1713
  9945. XML_SCHEMAP_INVALID_BOOLEAN = 1714
  9946. XML_SCHEMAP_INVALID_ENUM = 1715
  9947. XML_SCHEMAP_INVALID_FACET = 1716
  9948. XML_SCHEMAP_INVALID_FACET_VALUE = 1717
  9949. XML_SCHEMAP_INVALID_MAXOCCURS = 1718
  9950. XML_SCHEMAP_INVALID_MINOCCURS = 1719
  9951. XML_SCHEMAP_INVALID_REF_AND_SUBTYPE = 1720
  9952. XML_SCHEMAP_INVALID_WHITE_SPACE = 1721
  9953. XML_SCHEMAP_NOATTR_NOREF = 1722
  9954. XML_SCHEMAP_NOTATION_NO_NAME = 1723
  9955. XML_SCHEMAP_NOTYPE_NOREF = 1724
  9956. XML_SCHEMAP_REF_AND_SUBTYPE = 1725
  9957. XML_SCHEMAP_RESTRICTION_NONAME_NOREF = 1726
  9958. XML_SCHEMAP_SIMPLETYPE_NONAME = 1727
  9959. XML_SCHEMAP_TYPE_AND_SUBTYPE = 1728
  9960. XML_SCHEMAP_UNKNOWN_ALL_CHILD = 1729
  9961. XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD = 1730
  9962. XML_SCHEMAP_UNKNOWN_ATTR_CHILD = 1731
  9963. XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD = 1732
  9964. XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP = 1733
  9965. XML_SCHEMAP_UNKNOWN_BASE_TYPE = 1734
  9966. XML_SCHEMAP_UNKNOWN_CHOICE_CHILD = 1735
  9967. XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD = 1736
  9968. XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD = 1737
  9969. XML_SCHEMAP_UNKNOWN_ELEM_CHILD = 1738
  9970. XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD = 1739
  9971. XML_SCHEMAP_UNKNOWN_FACET_CHILD = 1740
  9972. XML_SCHEMAP_UNKNOWN_FACET_TYPE = 1741
  9973. XML_SCHEMAP_UNKNOWN_GROUP_CHILD = 1742
  9974. XML_SCHEMAP_UNKNOWN_IMPORT_CHILD = 1743
  9975. XML_SCHEMAP_UNKNOWN_LIST_CHILD = 1744
  9976. XML_SCHEMAP_UNKNOWN_NOTATION_CHILD = 1745
  9977. XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD = 1746
  9978. XML_SCHEMAP_UNKNOWN_REF = 1747
  9979. XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD = 1748
  9980. XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD = 1749
  9981. XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD = 1750
  9982. XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD = 1751
  9983. XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD = 1752
  9984. XML_SCHEMAP_UNKNOWN_TYPE = 1753
  9985. XML_SCHEMAP_UNKNOWN_UNION_CHILD = 1754
  9986. XML_SCHEMAP_ELEM_DEFAULT_FIXED = 1755
  9987. XML_SCHEMAP_REGEXP_INVALID = 1756
  9988. XML_SCHEMAP_FAILED_LOAD = 1757
  9989. XML_SCHEMAP_NOTHING_TO_PARSE = 1758
  9990. XML_SCHEMAP_NOROOT = 1759
  9991. XML_SCHEMAP_REDEFINED_GROUP = 1760
  9992. XML_SCHEMAP_REDEFINED_TYPE = 1761
  9993. XML_SCHEMAP_REDEFINED_ELEMENT = 1762
  9994. XML_SCHEMAP_REDEFINED_ATTRGROUP = 1763
  9995. XML_SCHEMAP_REDEFINED_ATTR = 1764
  9996. XML_SCHEMAP_REDEFINED_NOTATION = 1765
  9997. XML_SCHEMAP_FAILED_PARSE = 1766
  9998. XML_SCHEMAP_UNKNOWN_PREFIX = 1767
  9999. XML_SCHEMAP_DEF_AND_PREFIX = 1768
  10000. XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD = 1769
  10001. XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI = 1770
  10002. XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI = 1771
  10003. XML_SCHEMAP_NOT_SCHEMA = 1772
  10004. XML_SCHEMAP_UNKNOWN_MEMBER_TYPE = 1773
  10005. XML_SCHEMAP_INVALID_ATTR_USE = 1774
  10006. XML_SCHEMAP_RECURSIVE = 1775
  10007. XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE = 1776
  10008. XML_SCHEMAP_INVALID_ATTR_COMBINATION = 1777
  10009. XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION = 1778
  10010. XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD = 1779
  10011. XML_SCHEMAP_INVALID_ATTR_NAME = 1780
  10012. XML_SCHEMAP_REF_AND_CONTENT = 1781
  10013. XML_SCHEMAP_CT_PROPS_CORRECT_1 = 1782
  10014. XML_SCHEMAP_CT_PROPS_CORRECT_2 = 1783
  10015. XML_SCHEMAP_CT_PROPS_CORRECT_3 = 1784
  10016. XML_SCHEMAP_CT_PROPS_CORRECT_4 = 1785
  10017. XML_SCHEMAP_CT_PROPS_CORRECT_5 = 1786
  10018. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1 = 1787
  10019. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1 = 1788
  10020. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2 = 1789
  10021. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2 = 1790
  10022. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3 = 1791
  10023. XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER = 1792
  10024. XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE = 1793
  10025. XML_SCHEMAP_UNION_NOT_EXPRESSIBLE = 1794
  10026. XML_SCHEMAP_SRC_IMPORT_3_1 = 1795
  10027. XML_SCHEMAP_SRC_IMPORT_3_2 = 1796
  10028. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1 = 1797
  10029. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2 = 1798
  10030. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3 = 1799
  10031. XML_SCHEMAP_COS_CT_EXTENDS_1_3 = 1800
  10032. XML_SCHEMAV_NOROOT = 1801
  10033. XML_SCHEMAV_UNDECLAREDELEM = 1802
  10034. XML_SCHEMAV_NOTTOPLEVEL = 1803
  10035. XML_SCHEMAV_MISSING = 1804
  10036. XML_SCHEMAV_WRONGELEM = 1805
  10037. XML_SCHEMAV_NOTYPE = 1806
  10038. XML_SCHEMAV_NOROLLBACK = 1807
  10039. XML_SCHEMAV_ISABSTRACT = 1808
  10040. XML_SCHEMAV_NOTEMPTY = 1809
  10041. XML_SCHEMAV_ELEMCONT = 1810
  10042. XML_SCHEMAV_HAVEDEFAULT = 1811
  10043. XML_SCHEMAV_NOTNILLABLE = 1812
  10044. XML_SCHEMAV_EXTRACONTENT = 1813
  10045. XML_SCHEMAV_INVALIDATTR = 1814
  10046. XML_SCHEMAV_INVALIDELEM = 1815
  10047. XML_SCHEMAV_NOTDETERMINIST = 1816
  10048. XML_SCHEMAV_CONSTRUCT = 1817
  10049. XML_SCHEMAV_INTERNAL = 1818
  10050. XML_SCHEMAV_NOTSIMPLE = 1819
  10051. XML_SCHEMAV_ATTRUNKNOWN = 1820
  10052. XML_SCHEMAV_ATTRINVALID = 1821
  10053. XML_SCHEMAV_VALUE = 1822
  10054. XML_SCHEMAV_FACET = 1823
  10055. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1 = 1824
  10056. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2 = 1825
  10057. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3 = 1826
  10058. XML_SCHEMAV_CVC_TYPE_3_1_1 = 1827
  10059. XML_SCHEMAV_CVC_TYPE_3_1_2 = 1828
  10060. XML_SCHEMAV_CVC_FACET_VALID = 1829
  10061. XML_SCHEMAV_CVC_LENGTH_VALID = 1830
  10062. XML_SCHEMAV_CVC_MINLENGTH_VALID = 1831
  10063. XML_SCHEMAV_CVC_MAXLENGTH_VALID = 1832
  10064. XML_SCHEMAV_CVC_MININCLUSIVE_VALID = 1833
  10065. XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID = 1834
  10066. XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID = 1835
  10067. XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID = 1836
  10068. XML_SCHEMAV_CVC_TOTALDIGITS_VALID = 1837
  10069. XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID = 1838
  10070. XML_SCHEMAV_CVC_PATTERN_VALID = 1839
  10071. XML_SCHEMAV_CVC_ENUMERATION_VALID = 1840
  10072. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1 = 1841
  10073. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2 = 1842
  10074. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3 = 1843
  10075. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4 = 1844
  10076. XML_SCHEMAV_CVC_ELT_1 = 1845
  10077. XML_SCHEMAV_CVC_ELT_2 = 1846
  10078. XML_SCHEMAV_CVC_ELT_3_1 = 1847
  10079. XML_SCHEMAV_CVC_ELT_3_2_1 = 1848
  10080. XML_SCHEMAV_CVC_ELT_3_2_2 = 1849
  10081. XML_SCHEMAV_CVC_ELT_4_1 = 1850
  10082. XML_SCHEMAV_CVC_ELT_4_2 = 1851
  10083. XML_SCHEMAV_CVC_ELT_4_3 = 1852
  10084. XML_SCHEMAV_CVC_ELT_5_1_1 = 1853
  10085. XML_SCHEMAV_CVC_ELT_5_1_2 = 1854
  10086. XML_SCHEMAV_CVC_ELT_5_2_1 = 1855
  10087. XML_SCHEMAV_CVC_ELT_5_2_2_1 = 1856
  10088. XML_SCHEMAV_CVC_ELT_5_2_2_2_1 = 1857
  10089. XML_SCHEMAV_CVC_ELT_5_2_2_2_2 = 1858
  10090. XML_SCHEMAV_CVC_ELT_6 = 1859
  10091. XML_SCHEMAV_CVC_ELT_7 = 1860
  10092. XML_SCHEMAV_CVC_ATTRIBUTE_1 = 1861
  10093. XML_SCHEMAV_CVC_ATTRIBUTE_2 = 1862
  10094. XML_SCHEMAV_CVC_ATTRIBUTE_3 = 1863
  10095. XML_SCHEMAV_CVC_ATTRIBUTE_4 = 1864
  10096. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1 = 1865
  10097. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1 = 1866
  10098. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2 = 1867
  10099. XML_SCHEMAV_CVC_COMPLEX_TYPE_4 = 1868
  10100. XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1 = 1869
  10101. XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2 = 1870
  10102. XML_SCHEMAV_ELEMENT_CONTENT = 1871
  10103. XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING = 1872
  10104. XML_SCHEMAV_CVC_COMPLEX_TYPE_1 = 1873
  10105. XML_SCHEMAV_CVC_AU = 1874
  10106. XML_SCHEMAV_CVC_TYPE_1 = 1875
  10107. XML_SCHEMAV_CVC_TYPE_2 = 1876
  10108. XML_SCHEMAV_CVC_IDC = 1877
  10109. XML_SCHEMAV_CVC_WILDCARD = 1878
  10110. XML_SCHEMAV_MISC = 1879
  10111. XML_XPTR_UNKNOWN_SCHEME = 1900
  10112. XML_XPTR_CHILDSEQ_START = 1901
  10113. XML_XPTR_EVAL_FAILED = 1902
  10114. XML_XPTR_EXTRA_OBJECTS = 1903
  10115. XML_C14N_CREATE_CTXT = 1950
  10116. XML_C14N_REQUIRES_UTF8 = 1951
  10117. XML_C14N_CREATE_STACK = 1952
  10118. XML_C14N_INVALID_NODE = 1953
  10119. XML_C14N_UNKNOW_NODE = 1954
  10120. XML_C14N_RELATIVE_NAMESPACE = 1955
  10121. XML_FTP_PASV_ANSWER = 2000
  10122. XML_FTP_EPSV_ANSWER = 2001
  10123. XML_FTP_ACCNT = 2002
  10124. XML_FTP_URL_SYNTAX = 2003
  10125. XML_HTTP_URL_SYNTAX = 2020
  10126. XML_HTTP_USE_IP = 2021
  10127. XML_HTTP_UNKNOWN_HOST = 2022
  10128. XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000
  10129. XML_SCHEMAP_SRC_SIMPLE_TYPE_2 = 3001
  10130. XML_SCHEMAP_SRC_SIMPLE_TYPE_3 = 3002
  10131. XML_SCHEMAP_SRC_SIMPLE_TYPE_4 = 3003
  10132. XML_SCHEMAP_SRC_RESOLVE = 3004
  10133. XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE = 3005
  10134. XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE = 3006
  10135. XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES = 3007
  10136. XML_SCHEMAP_ST_PROPS_CORRECT_1 = 3008
  10137. XML_SCHEMAP_ST_PROPS_CORRECT_2 = 3009
  10138. XML_SCHEMAP_ST_PROPS_CORRECT_3 = 3010
  10139. XML_SCHEMAP_COS_ST_RESTRICTS_1_1 = 3011
  10140. XML_SCHEMAP_COS_ST_RESTRICTS_1_2 = 3012
  10141. XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1 = 3013
  10142. XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2 = 3014
  10143. XML_SCHEMAP_COS_ST_RESTRICTS_2_1 = 3015
  10144. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1 = 3016
  10145. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2 = 3017
  10146. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1 = 3018
  10147. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2 = 3019
  10148. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3 = 3020
  10149. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4 = 3021
  10150. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5 = 3022
  10151. XML_SCHEMAP_COS_ST_RESTRICTS_3_1 = 3023
  10152. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1 = 3024
  10153. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2 = 3025
  10154. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2 = 3026
  10155. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1 = 3027
  10156. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3 = 3028
  10157. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4 = 3029
  10158. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5 = 3030
  10159. XML_SCHEMAP_COS_ST_DERIVED_OK_2_1 = 3031
  10160. XML_SCHEMAP_COS_ST_DERIVED_OK_2_2 = 3032
  10161. XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED = 3033
  10162. XML_SCHEMAP_S4S_ELEM_MISSING = 3034
  10163. XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED = 3035
  10164. XML_SCHEMAP_S4S_ATTR_MISSING = 3036
  10165. XML_SCHEMAP_S4S_ATTR_INVALID_VALUE = 3037
  10166. XML_SCHEMAP_SRC_ELEMENT_1 = 3038
  10167. XML_SCHEMAP_SRC_ELEMENT_2_1 = 3039
  10168. XML_SCHEMAP_SRC_ELEMENT_2_2 = 3040
  10169. XML_SCHEMAP_SRC_ELEMENT_3 = 3041
  10170. XML_SCHEMAP_P_PROPS_CORRECT_1 = 3042
  10171. XML_SCHEMAP_P_PROPS_CORRECT_2_1 = 3043
  10172. XML_SCHEMAP_P_PROPS_CORRECT_2_2 = 3044
  10173. XML_SCHEMAP_E_PROPS_CORRECT_2 = 3045
  10174. XML_SCHEMAP_E_PROPS_CORRECT_3 = 3046
  10175. XML_SCHEMAP_E_PROPS_CORRECT_4 = 3047
  10176. XML_SCHEMAP_E_PROPS_CORRECT_5 = 3048
  10177. XML_SCHEMAP_E_PROPS_CORRECT_6 = 3049
  10178. XML_SCHEMAP_SRC_INCLUDE = 3050
  10179. XML_SCHEMAP_SRC_ATTRIBUTE_1 = 3051
  10180. XML_SCHEMAP_SRC_ATTRIBUTE_2 = 3052
  10181. XML_SCHEMAP_SRC_ATTRIBUTE_3_1 = 3053
  10182. XML_SCHEMAP_SRC_ATTRIBUTE_3_2 = 3054
  10183. XML_SCHEMAP_SRC_ATTRIBUTE_4 = 3055
  10184. XML_SCHEMAP_NO_XMLNS = 3056
  10185. XML_SCHEMAP_NO_XSI = 3057
  10186. XML_SCHEMAP_COS_VALID_DEFAULT_1 = 3058
  10187. XML_SCHEMAP_COS_VALID_DEFAULT_2_1 = 3059
  10188. XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1 = 3060
  10189. XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2 = 3061
  10190. XML_SCHEMAP_CVC_SIMPLE_TYPE = 3062
  10191. XML_SCHEMAP_COS_CT_EXTENDS_1_1 = 3063
  10192. XML_SCHEMAP_SRC_IMPORT_1_1 = 3064
  10193. XML_SCHEMAP_SRC_IMPORT_1_2 = 3065
  10194. XML_SCHEMAP_SRC_IMPORT_2 = 3066
  10195. XML_SCHEMAP_SRC_IMPORT_2_1 = 3067
  10196. XML_SCHEMAP_SRC_IMPORT_2_2 = 3068
  10197. XML_SCHEMAP_INTERNAL = 3069
  10198. XML_SCHEMAP_NOT_DETERMINISTIC = 3070
  10199. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1 = 3071
  10200. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2 = 3072
  10201. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3 = 3073
  10202. XML_SCHEMAP_MG_PROPS_CORRECT_1 = 3074
  10203. XML_SCHEMAP_MG_PROPS_CORRECT_2 = 3075
  10204. XML_SCHEMAP_SRC_CT_1 = 3076
  10205. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3 = 3077
  10206. XML_SCHEMAP_AU_PROPS_CORRECT_2 = 3078
  10207. XML_SCHEMAP_A_PROPS_CORRECT_2 = 3079
  10208. XML_SCHEMAP_C_PROPS_CORRECT = 3080
  10209. XML_SCHEMAP_SRC_REDEFINE = 3081
  10210. XML_SCHEMAP_SRC_IMPORT = 3082
  10211. XML_SCHEMAP_WARN_SKIP_SCHEMA = 3083
  10212. XML_SCHEMAP_WARN_UNLOCATED_SCHEMA = 3084
  10213. XML_SCHEMAP_WARN_ATTR_REDECL_PROH = 3085
  10214. XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH = 3086
  10215. XML_SCHEMAP_AG_PROPS_CORRECT = 3087
  10216. XML_SCHEMAP_COS_CT_EXTENDS_1_2 = 3088
  10217. XML_SCHEMAP_AU_PROPS_CORRECT = 3089
  10218. XML_SCHEMAP_A_PROPS_CORRECT_3 = 3090
  10219. XML_SCHEMAP_COS_ALL_LIMITED = 3091
  10220. XML_SCHEMATRONV_ASSERT = 4000
  10221. XML_SCHEMATRONV_REPORT = 4001
  10222. XML_MODULE_OPEN = 4900
  10223. XML_MODULE_CLOSE = 4901
  10224. XML_CHECK_FOUND_ELEMENT = 5000
  10225. XML_CHECK_FOUND_ATTRIBUTE = 5001
  10226. XML_CHECK_FOUND_TEXT = 5002
  10227. XML_CHECK_FOUND_CDATA = 5003
  10228. XML_CHECK_FOUND_ENTITYREF = 5004
  10229. XML_CHECK_FOUND_ENTITY = 5005
  10230. XML_CHECK_FOUND_PI = 5006
  10231. XML_CHECK_FOUND_COMMENT = 5007
  10232. XML_CHECK_FOUND_DOCTYPE = 5008
  10233. XML_CHECK_FOUND_FRAGMENT = 5009
  10234. XML_CHECK_FOUND_NOTATION = 5010
  10235. XML_CHECK_UNKNOWN_NODE = 5011
  10236. XML_CHECK_ENTITY_TYPE = 5012
  10237. XML_CHECK_NO_PARENT = 5013
  10238. XML_CHECK_NO_DOC = 5014
  10239. XML_CHECK_NO_NAME = 5015
  10240. XML_CHECK_NO_ELEM = 5016
  10241. XML_CHECK_WRONG_DOC = 5017
  10242. XML_CHECK_NO_PREV = 5018
  10243. XML_CHECK_WRONG_PREV = 5019
  10244. XML_CHECK_NO_NEXT = 5020
  10245. XML_CHECK_WRONG_NEXT = 5021
  10246. XML_CHECK_NOT_DTD = 5022
  10247. XML_CHECK_NOT_ATTR = 5023
  10248. XML_CHECK_NOT_ATTR_DECL = 5024
  10249. XML_CHECK_NOT_ELEM_DECL = 5025
  10250. XML_CHECK_NOT_ENTITY_DECL = 5026
  10251. XML_CHECK_NOT_NS_DECL = 5027
  10252. XML_CHECK_NO_HREF = 5028
  10253. XML_CHECK_WRONG_PARENT = 5029
  10254. XML_CHECK_NS_SCOPE = 5030
  10255. XML_CHECK_NS_ANCESTOR = 5031
  10256. XML_CHECK_NOT_UTF8 = 5032
  10257. XML_CHECK_NO_DICT = 5033
  10258. XML_CHECK_NOT_NCNAME = 5034
  10259. XML_CHECK_OUTSIDE_DICT = 5035
  10260. XML_CHECK_WRONG_NAME = 5036
  10261. XML_CHECK_NAME_NOT_NULL = 5037
  10262. XML_I18N_NO_NAME = 6000
  10263. XML_I18N_NO_HANDLER = 6001
  10264. XML_I18N_EXCESS_HANDLER = 6002
  10265. XML_I18N_CONV_FAILED = 6003
  10266. XML_I18N_NO_OUTPUT = 6004
  10267. XML_CHECK_ = 6005
  10268. XML_CHECK_X = 6006
  10269. XML_EXP_EMPTY = 0
  10270. XML_EXP_FORBID = 1
  10271. XML_EXP_ATOM = 2
  10272. XML_EXP_SEQ = 3
  10273. XML_EXP_OR = 4
  10274. XML_EXP_COUNT = 5
  10275. XML_ELEMENT_CONTENT_PCDATA = 1
  10276. XML_ELEMENT_CONTENT_ELEMENT = 2
  10277. XML_ELEMENT_CONTENT_SEQ = 3
  10278. XML_ELEMENT_CONTENT_OR = 4
  10279. XML_PARSER_LOADDTD = 1
  10280. XML_PARSER_DEFAULTATTRS = 2
  10281. XML_PARSER_VALIDATE = 3
  10282. XML_PARSER_SUBST_ENTITIES = 4
  10283. XML_READER_TYPE_NONE = 0
  10284. XML_READER_TYPE_ELEMENT = 1
  10285. XML_READER_TYPE_ATTRIBUTE = 2
  10286. XML_READER_TYPE_TEXT = 3
  10287. XML_READER_TYPE_CDATA = 4
  10288. XML_READER_TYPE_ENTITY_REFERENCE = 5
  10289. XML_READER_TYPE_ENTITY = 6
  10290. XML_READER_TYPE_PROCESSING_INSTRUCTION = 7
  10291. XML_READER_TYPE_COMMENT = 8
  10292. XML_READER_TYPE_DOCUMENT = 9
  10293. XML_READER_TYPE_DOCUMENT_TYPE = 10
  10294. XML_READER_TYPE_DOCUMENT_FRAGMENT = 11
  10295. XML_READER_TYPE_NOTATION = 12
  10296. XML_READER_TYPE_WHITESPACE = 13
  10297. XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14
  10298. XML_READER_TYPE_END_ELEMENT = 15
  10299. XML_READER_TYPE_END_ENTITY = 16
  10300. XML_READER_TYPE_XML_DECLARATION = 17
  10301. XML_CATA_PREFER_NONE = 0
  10302. XML_CATA_PREFER_PUBLIC = 1
  10303. XML_CATA_PREFER_SYSTEM = 2
  10304. XML_ELEMENT_NODE = 1
  10305. XML_ATTRIBUTE_NODE = 2
  10306. XML_TEXT_NODE = 3
  10307. XML_CDATA_SECTION_NODE = 4
  10308. XML_ENTITY_REF_NODE = 5
  10309. XML_ENTITY_NODE = 6
  10310. XML_PI_NODE = 7
  10311. XML_COMMENT_NODE = 8
  10312. XML_DOCUMENT_NODE = 9
  10313. XML_DOCUMENT_TYPE_NODE = 10
  10314. XML_DOCUMENT_FRAG_NODE = 11
  10315. XML_NOTATION_NODE = 12
  10316. XML_HTML_DOCUMENT_NODE = 13
  10317. XML_DTD_NODE = 14
  10318. XML_ELEMENT_DECL = 15
  10319. XML_ATTRIBUTE_DECL = 16
  10320. XML_ENTITY_DECL = 17
  10321. XML_NAMESPACE_DECL = 18
  10322. XML_XINCLUDE_START = 19
  10323. XML_XINCLUDE_END = 20
  10324. XML_DOCB_DOCUMENT_NODE = 21
  10325. XLINK_ACTUATE_NONE = 0
  10326. XLINK_ACTUATE_AUTO = 1
  10327. XLINK_ACTUATE_ONREQUEST = 2
  10328. XML_WITH_THREAD = 1
  10329. XML_WITH_TREE = 2
  10330. XML_WITH_OUTPUT = 3
  10331. XML_WITH_PUSH = 4
  10332. XML_WITH_READER = 5
  10333. XML_WITH_PATTERN = 6
  10334. XML_WITH_WRITER = 7
  10335. XML_WITH_SAX1 = 8
  10336. XML_WITH_FTP = 9
  10337. XML_WITH_HTTP = 10
  10338. XML_WITH_VALID = 11
  10339. XML_WITH_HTML = 12
  10340. XML_WITH_LEGACY = 13
  10341. XML_WITH_C14N = 14
  10342. XML_WITH_CATALOG = 15
  10343. XML_WITH_XPATH = 16
  10344. XML_WITH_XPTR = 17
  10345. XML_WITH_XINCLUDE = 18
  10346. XML_WITH_ICONV = 19
  10347. XML_WITH_ISO8859X = 20
  10348. XML_WITH_UNICODE = 21
  10349. XML_WITH_REGEXP = 22
  10350. XML_WITH_AUTOMATA = 23
  10351. XML_WITH_EXPR = 24
  10352. XML_WITH_SCHEMAS = 25
  10353. XML_WITH_SCHEMATRON = 26
  10354. XML_WITH_MODULES = 27
  10355. XML_WITH_DEBUG = 28
  10356. XML_WITH_DEBUG_MEM = 29
  10357. XML_WITH_DEBUG_RUN = 30
  10358. XML_WITH_ZLIB = 31
  10359. XML_WITH_NONE = 99999
  10360. XML_ELEMENT_CONTENT_ONCE = 1
  10361. XML_ELEMENT_CONTENT_OPT = 2
  10362. XML_ELEMENT_CONTENT_MULT = 3
  10363. XML_ELEMENT_CONTENT_PLUS = 4
  10364. XPATH_EXPRESSION_OK = 0
  10365. XPATH_NUMBER_ERROR = 1
  10366. XPATH_UNFINISHED_LITERAL_ERROR = 2
  10367. XPATH_START_LITERAL_ERROR = 3
  10368. XPATH_VARIABLE_REF_ERROR = 4
  10369. XPATH_UNDEF_VARIABLE_ERROR = 5
  10370. XPATH_INVALID_PREDICATE_ERROR = 6
  10371. XPATH_EXPR_ERROR = 7
  10372. XPATH_UNCLOSED_ERROR = 8
  10373. XPATH_UNKNOWN_FUNC_ERROR = 9
  10374. XPATH_INVALID_OPERAND = 10
  10375. XPATH_INVALID_TYPE = 11
  10376. XPATH_INVALID_ARITY = 12
  10377. XPATH_INVALID_CTXT_SIZE = 13
  10378. XPATH_INVALID_CTXT_POSITION = 14
  10379. XPATH_MEMORY_ERROR = 15
  10380. XPTR_SYNTAX_ERROR = 16
  10381. XPTR_RESOURCE_ERROR = 17
  10382. XPTR_SUB_RESOURCE_ERROR = 18
  10383. XPATH_UNDEF_PREFIX_ERROR = 19
  10384. XPATH_ENCODING_ERROR = 20
  10385. XPATH_INVALID_CHAR_ERROR = 21
  10386. XPATH_INVALID_CTXT = 22
  10387. XML_TEXTREADER_MODE_INITIAL = 0
  10388. XML_TEXTREADER_MODE_INTERACTIVE = 1
  10389. XML_TEXTREADER_MODE_ERROR = 2
  10390. XML_TEXTREADER_MODE_EOF = 3
  10391. XML_TEXTREADER_MODE_CLOSED = 4
  10392. XML_TEXTREADER_MODE_READING = 5
  10393. XML_ERR_NONE = 0
  10394. XML_ERR_WARNING = 1
  10395. XML_ERR_ERROR = 2
  10396. XML_ERR_FATAL = 3
  10397. XML_CHAR_ENCODING_ERROR = -1
  10398. XML_CHAR_ENCODING_NONE = 0
  10399. XML_CHAR_ENCODING_UTF8 = 1
  10400. XML_CHAR_ENCODING_UTF16LE = 2
  10401. XML_CHAR_ENCODING_UTF16BE = 3
  10402. XML_CHAR_ENCODING_UCS4LE = 4
  10403. XML_CHAR_ENCODING_UCS4BE = 5
  10404. XML_CHAR_ENCODING_EBCDIC = 6
  10405. XML_CHAR_ENCODING_UCS4_2143 = 7
  10406. XML_CHAR_ENCODING_UCS4_3412 = 8
  10407. XML_CHAR_ENCODING_UCS2 = 9
  10408. XML_CHAR_ENCODING_8859_1 = 10
  10409. XML_CHAR_ENCODING_8859_2 = 11
  10410. XML_CHAR_ENCODING_8859_3 = 12
  10411. XML_CHAR_ENCODING_8859_4 = 13
  10412. XML_CHAR_ENCODING_8859_5 = 14
  10413. XML_CHAR_ENCODING_8859_6 = 15
  10414. XML_CHAR_ENCODING_8859_7 = 16
  10415. XML_CHAR_ENCODING_8859_8 = 17
  10416. XML_CHAR_ENCODING_8859_9 = 18
  10417. XML_CHAR_ENCODING_2022_JP = 19
  10418. XML_CHAR_ENCODING_SHIFT_JIS = 20
  10419. XML_CHAR_ENCODING_EUC_JP = 21
  10420. XML_CHAR_ENCODING_ASCII = 22
  10421. XML_FROM_NONE = 0
  10422. XML_FROM_PARSER = 1
  10423. XML_FROM_TREE = 2
  10424. XML_FROM_NAMESPACE = 3
  10425. XML_FROM_DTD = 4
  10426. XML_FROM_HTML = 5
  10427. XML_FROM_MEMORY = 6
  10428. XML_FROM_OUTPUT = 7
  10429. XML_FROM_IO = 8
  10430. XML_FROM_FTP = 9
  10431. XML_FROM_HTTP = 10
  10432. XML_FROM_XINCLUDE = 11
  10433. XML_FROM_XPATH = 12
  10434. XML_FROM_XPOINTER = 13
  10435. XML_FROM_REGEXP = 14
  10436. XML_FROM_DATATYPE = 15
  10437. XML_FROM_SCHEMASP = 16
  10438. XML_FROM_SCHEMASV = 17
  10439. XML_FROM_RELAXNGP = 18
  10440. XML_FROM_RELAXNGV = 19
  10441. XML_FROM_CATALOG = 20
  10442. XML_FROM_C14N = 21
  10443. XML_FROM_XSLT = 22
  10444. XML_FROM_VALID = 23
  10445. XML_FROM_CHECK = 24
  10446. XML_FROM_WRITER = 25
  10447. XML_FROM_MODULE = 26
  10448. XML_FROM_I18N = 27
  10449. XML_FROM_SCHEMATRONV = 28
  10450. HTML_NA = 0
  10451. HTML_INVALID = 1
  10452. HTML_DEPRECATED = 2
  10453. HTML_VALID = 4
  10454. HTML_REQUIRED = 12
  10455. XML_SCHEMA_VAL_VC_I_CREATE = 1
  10456. XML_SCHEMA_WHITESPACE_UNKNOWN = 0
  10457. XML_SCHEMA_WHITESPACE_PRESERVE = 1
  10458. XML_SCHEMA_WHITESPACE_REPLACE = 2
  10459. XML_SCHEMA_WHITESPACE_COLLAPSE = 3
  10460. HTML_PARSE_RECOVER = 1
  10461. HTML_PARSE_NOERROR = 32
  10462. HTML_PARSE_NOWARNING = 64
  10463. HTML_PARSE_PEDANTIC = 128
  10464. HTML_PARSE_NOBLANKS = 256
  10465. HTML_PARSE_NONET = 2048
  10466. HTML_PARSE_COMPACT = 65536
  10467. XML_RELAXNG_OK = 0
  10468. XML_RELAXNG_ERR_MEMORY = 1
  10469. XML_RELAXNG_ERR_TYPE = 2
  10470. XML_RELAXNG_ERR_TYPEVAL = 3
  10471. XML_RELAXNG_ERR_DUPID = 4
  10472. XML_RELAXNG_ERR_TYPECMP = 5
  10473. XML_RELAXNG_ERR_NOSTATE = 6
  10474. XML_RELAXNG_ERR_NODEFINE = 7
  10475. XML_RELAXNG_ERR_LISTEXTRA = 8
  10476. XML_RELAXNG_ERR_LISTEMPTY = 9
  10477. XML_RELAXNG_ERR_INTERNODATA = 10
  10478. XML_RELAXNG_ERR_INTERSEQ = 11
  10479. XML_RELAXNG_ERR_INTEREXTRA = 12
  10480. XML_RELAXNG_ERR_ELEMNAME = 13
  10481. XML_RELAXNG_ERR_ATTRNAME = 14
  10482. XML_RELAXNG_ERR_ELEMNONS = 15
  10483. XML_RELAXNG_ERR_ATTRNONS = 16
  10484. XML_RELAXNG_ERR_ELEMWRONGNS = 17
  10485. XML_RELAXNG_ERR_ATTRWRONGNS = 18
  10486. XML_RELAXNG_ERR_ELEMEXTRANS = 19
  10487. XML_RELAXNG_ERR_ATTREXTRANS = 20
  10488. XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
  10489. XML_RELAXNG_ERR_NOELEM = 22
  10490. XML_RELAXNG_ERR_NOTELEM = 23
  10491. XML_RELAXNG_ERR_ATTRVALID = 24
  10492. XML_RELAXNG_ERR_CONTENTVALID = 25
  10493. XML_RELAXNG_ERR_EXTRACONTENT = 26
  10494. XML_RELAXNG_ERR_INVALIDATTR = 27
  10495. XML_RELAXNG_ERR_DATAELEM = 28
  10496. XML_RELAXNG_ERR_VALELEM = 29
  10497. XML_RELAXNG_ERR_LISTELEM = 30
  10498. XML_RELAXNG_ERR_DATATYPE = 31
  10499. XML_RELAXNG_ERR_VALUE = 32
  10500. XML_RELAXNG_ERR_LIST = 33
  10501. XML_RELAXNG_ERR_NOGRAMMAR = 34
  10502. XML_RELAXNG_ERR_EXTRADATA = 35
  10503. XML_RELAXNG_ERR_LACKDATA = 36
  10504. XML_RELAXNG_ERR_INTERNAL = 37
  10505. XML_RELAXNG_ERR_ELEMWRONG = 38
  10506. XML_RELAXNG_ERR_TEXTWRONG = 39
  10507. XML_CATA_ALLOW_NONE = 0
  10508. XML_CATA_ALLOW_GLOBAL = 1
  10509. XML_CATA_ALLOW_DOCUMENT = 2
  10510. XML_CATA_ALLOW_ALL = 3
  10511. XML_ATTRIBUTE_CDATA = 1
  10512. XML_ATTRIBUTE_ID = 2
  10513. XML_ATTRIBUTE_IDREF = 3
  10514. XML_ATTRIBUTE_IDREFS = 4
  10515. XML_ATTRIBUTE_ENTITY = 5
  10516. XML_ATTRIBUTE_ENTITIES = 6
  10517. XML_ATTRIBUTE_NMTOKEN = 7
  10518. XML_ATTRIBUTE_NMTOKENS = 8
  10519. XML_ATTRIBUTE_ENUMERATION = 9
  10520. XML_ATTRIBUTE_NOTATION = 10
  10521. XML_SCHEMATRON_OUT_QUIET = 1
  10522. XML_SCHEMATRON_OUT_TEXT = 2
  10523. XML_SCHEMATRON_OUT_XML = 4
  10524. XML_SCHEMATRON_OUT_ERROR = 8
  10525. XML_SCHEMATRON_OUT_FILE = 256
  10526. XML_SCHEMATRON_OUT_BUFFER = 512
  10527. XML_SCHEMATRON_OUT_IO = 1024
  10528. XML_SCHEMA_CONTENT_UNKNOWN = 0
  10529. XML_SCHEMA_CONTENT_EMPTY = 1
  10530. XML_SCHEMA_CONTENT_ELEMENTS = 2
  10531. XML_SCHEMA_CONTENT_MIXED = 3
  10532. XML_SCHEMA_CONTENT_SIMPLE = 4
  10533. XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5
  10534. XML_SCHEMA_CONTENT_BASIC = 6
  10535. XML_SCHEMA_CONTENT_ANY = 7
  10536. XML_SCHEMA_TYPE_BASIC = 1
  10537. XML_SCHEMA_TYPE_ANY = 2
  10538. XML_SCHEMA_TYPE_FACET = 3
  10539. XML_SCHEMA_TYPE_SIMPLE = 4
  10540. XML_SCHEMA_TYPE_COMPLEX = 5
  10541. XML_SCHEMA_TYPE_SEQUENCE = 6
  10542. XML_SCHEMA_TYPE_CHOICE = 7
  10543. XML_SCHEMA_TYPE_ALL = 8
  10544. XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
  10545. XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
  10546. XML_SCHEMA_TYPE_UR = 11
  10547. XML_SCHEMA_TYPE_RESTRICTION = 12
  10548. XML_SCHEMA_TYPE_EXTENSION = 13
  10549. XML_SCHEMA_TYPE_ELEMENT = 14
  10550. XML_SCHEMA_TYPE_ATTRIBUTE = 15
  10551. XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
  10552. XML_SCHEMA_TYPE_GROUP = 17
  10553. XML_SCHEMA_TYPE_NOTATION = 18
  10554. XML_SCHEMA_TYPE_LIST = 19
  10555. XML_SCHEMA_TYPE_UNION = 20
  10556. XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
  10557. XML_SCHEMA_TYPE_IDC_UNIQUE = 22
  10558. XML_SCHEMA_TYPE_IDC_KEY = 23
  10559. XML_SCHEMA_TYPE_IDC_KEYREF = 24
  10560. XML_SCHEMA_TYPE_PARTICLE = 25
  10561. XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
  10562. XML_SCHEMA_FACET_MININCLUSIVE = 1000
  10563. XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
  10564. XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
  10565. XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
  10566. XML_SCHEMA_FACET_TOTALDIGITS = 1004
  10567. XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
  10568. XML_SCHEMA_FACET_PATTERN = 1006
  10569. XML_SCHEMA_FACET_ENUMERATION = 1007
  10570. XML_SCHEMA_FACET_WHITESPACE = 1008
  10571. XML_SCHEMA_FACET_LENGTH = 1009
  10572. XML_SCHEMA_FACET_MAXLENGTH = 1010
  10573. XML_SCHEMA_FACET_MINLENGTH = 1011
  10574. XML_SCHEMA_EXTRA_QNAMEREF = 2000
  10575. XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
  10576. XML_MODULE_LAZY = 1
  10577. XML_MODULE_LOCAL = 2
  10578. XML_PARSE_UNKNOWN = 0
  10579. XML_PARSE_DOM = 1
  10580. XML_PARSE_SAX = 2
  10581. XML_PARSE_PUSH_DOM = 3
  10582. XML_PARSE_PUSH_SAX = 4
  10583. XML_PARSE_READER = 5
  10584. XML_C14N_1_0 = 0
  10585. XML_C14N_EXCLUSIVE_1_0 = 1
  10586. XML_C14N_1_1 = 2
  10587. XML_PARSE_RECOVER = 1
  10588. XML_PARSE_NOENT = 2
  10589. XML_PARSE_DTDLOAD = 4
  10590. XML_PARSE_DTDATTR = 8
  10591. XML_PARSE_DTDVALID = 16
  10592. XML_PARSE_NOERROR = 32
  10593. XML_PARSE_NOWARNING = 64
  10594. XML_PARSE_PEDANTIC = 128
  10595. XML_PARSE_NOBLANKS = 256
  10596. XML_PARSE_SAX1 = 512
  10597. XML_PARSE_XINCLUDE = 1024
  10598. XML_PARSE_NONET = 2048
  10599. XML_PARSE_NODICT = 4096
  10600. XML_PARSE_NSCLEAN = 8192
  10601. XML_PARSE_NOCDATA = 16384
  10602. XML_PARSE_NOXINCNODE = 32768
  10603. XML_PARSE_COMPACT = 65536
  10604. XML_PARSE_OLD10 = 131072
  10605. XML_PARSE_NOBASEFIX = 262144
  10606. XML_PARSE_HUGE = 524288
  10607. XML_PARSE_OLDSAX = 1048576
  10608. XML_ELEMENT_TYPE_UNDEFINED = 0
  10609. XML_ELEMENT_TYPE_EMPTY = 1
  10610. XML_ELEMENT_TYPE_ANY = 2
  10611. XML_ELEMENT_TYPE_MIXED = 3
  10612. XML_ELEMENT_TYPE_ELEMENT = 4
  10613. XML_DOC_WELLFORMED = 1
  10614. XML_DOC_NSVALID = 2
  10615. XML_DOC_OLD10 = 4
  10616. XML_DOC_DTDVALID = 8
  10617. XML_DOC_XINCLUDE = 16
  10618. XML_DOC_USERBUILT = 32
  10619. XML_DOC_INTERNAL = 64
  10620. XML_DOC_HTML = 128
  10621. XLINK_TYPE_NONE = 0
  10622. XLINK_TYPE_SIMPLE = 1
  10623. XLINK_TYPE_EXTENDED = 2
  10624. XLINK_TYPE_EXTENDED_SET = 3
  10625. XPATH_UNDEFINED = 0
  10626. XPATH_NODESET = 1
  10627. XPATH_BOOLEAN = 2
  10628. XPATH_NUMBER = 3
  10629. XPATH_STRING = 4
  10630. XPATH_POINT = 5
  10631. XPATH_RANGE = 6
  10632. XPATH_LOCATIONSET = 7
  10633. XPATH_USERS = 8
  10634. XPATH_XSLT_TREE = 9
  10635. XML_SCHEMAS_ERR_OK = 0
  10636. XML_SCHEMAS_ERR_NOROOT = 1
  10637. XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
  10638. XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
  10639. XML_SCHEMAS_ERR_MISSING = 4
  10640. XML_SCHEMAS_ERR_WRONGELEM = 5
  10641. XML_SCHEMAS_ERR_NOTYPE = 6
  10642. XML_SCHEMAS_ERR_NOROLLBACK = 7
  10643. XML_SCHEMAS_ERR_ISABSTRACT = 8
  10644. XML_SCHEMAS_ERR_NOTEMPTY = 9
  10645. XML_SCHEMAS_ERR_ELEMCONT = 10
  10646. XML_SCHEMAS_ERR_HAVEDEFAULT = 11
  10647. XML_SCHEMAS_ERR_NOTNILLABLE = 12
  10648. XML_SCHEMAS_ERR_EXTRACONTENT = 13
  10649. XML_SCHEMAS_ERR_INVALIDATTR = 14
  10650. XML_SCHEMAS_ERR_INVALIDELEM = 15
  10651. XML_SCHEMAS_ERR_NOTDETERMINIST = 16
  10652. XML_SCHEMAS_ERR_CONSTRUCT = 17
  10653. XML_SCHEMAS_ERR_INTERNAL = 18
  10654. XML_SCHEMAS_ERR_NOTSIMPLE = 19
  10655. XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
  10656. XML_SCHEMAS_ERR_ATTRINVALID = 21
  10657. XML_SCHEMAS_ERR_VALUE = 22
  10658. XML_SCHEMAS_ERR_FACET = 23
  10659. XML_SCHEMAS_ERR_ = 24
  10660. XML_SCHEMAS_ERR_XXX = 25
  10661.